[英]Get floating point inputs from user until negative number is entered, then compute sum, average, max, and min, without including negative number
抱歉,第一次發帖者和初學者 python 用戶。
問題要求如下: 編寫一個 Python 程序,允許用戶輸入任意數量的非負浮點值。 用戶以任何負值終止輸入列表。 然后程序打印輸入值的總和、平均值(算術平均值)、最大值和最小值。 計算中不使用終止負值。
我幾乎擁有其中的大部分,嘗試了幾種不同的方法,但似乎無法正確計算平均值和總和。 (不能得到它沒有負數終止,或也使平均值為負,或與總和值相同)
我正在考慮重新開始並使用 def 函數調用。 ?? 我也開始使用 try-except 語句到達某個地方,但這也失敗了。
任何正確方向的建議表示贊賞!
第一的...
num = []
tot = 0
big = None
small = None
while True:
numbers = float(input('Enter a positive number, negative to stop: '))
tot += numbers
if big is None or numbers > big:
big = numbers
if small is None or numbers < small:
small = numbers
if numbers < 0:
break
avg = tot / numbers
print('Sum is:', tot)
print('Average is:',avg)
print('Maximum is:',big)
print('Minimum is:',small)
如果我改變一些東西,我得到的平均值是正數而不是負數,但仍然與最小值相同,只是一些片段......
tot = 0
big = None
small = None
count = 0
while True:
length = count + 1
#etc, etc...then trying to do...
avg = tot/length
#or...
avg =str(tot/length)
但還是卡住了。
num = []
tot = 0
small = None
avg = None
big = None
while True:
numbers = float(input('Enter a positive number, negative to stop: '))
if numbers < 0:
break
tot +=numbers
num.append(numbers)
if small== None and big == None and avg == None:
small=numbers; big=numbers; avg = numbers
else:
small = min(small, numbers)
small = max(big, numbers)
if len(num) > 0:
avg = tot / len( num)
print('Sum is:', tot)
print('Average is:',avg)
print('Maximum is:',big)
print('Minimum is:',small)
num = []
tot = 0
small = None
avg = None
big = None
while True:
numbers = float(input('Enter a positive number, negative to stop: '))
if numbers < 0:
break
tot +=numbers
num.append(numbers)
if len(num) > 0:
avg = tot / len( num)
big = max(num)
small = min(num)
print('Sum is:', tot)
print('Average is:',avg)
print('Maximum is:',big)
print('Minimum is:',small)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.