簡體   English   中英

從用戶獲取浮點輸入,直到輸入負數,然后計算總和、平均值、最大值和最小值,不包括負數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM