讓我剛開始時請求您的耐心,不要讓我排名不好,我盡我所能不要聽起來像一個總noob。 :)在Python中顯示「字典平均值」輸出(版本3)
我正在爲Python編寫此程序,要求用戶輸入除-9999(負號,pos號或零)之外的任何數字,然後在末尾給出以下字典平均值。這是輸出,我需要,例如...
Enter a number (-9999 to end): 4
Enter a number (-9999 to end): -3
Enter a number (-9999 to end): -15
Enter a number (-9999 to end): 0
Enter a number (-9999 to end): 10
Enter a number (-9999 to end): 22
Enter a number (-9999 to end): -9999
The list of all numbers entered is:
[4, -3, -15, 0, 10, 22]
The dictionary with averages is:
{'AvgPositive': 12.0, 'AvgNonPos': -6.0, 'AvgAllNum': 3.0}
所以我有下面的代碼,但我做錯了(顯然),因爲我不知道該怎麼做是正確的。它給我的輸出「[]無」,因爲我不知道如何輸出上面的「字典平均值」。
這是我有:
def nums():
values = []
while -9999 not in values:
x = int(input("Enter a numbers (-9999 to end: "))
values.append(x)
values.remove(-9999)
return values
def allNumAvg(values):
average = 0
sum = 0
for n in values:
sum = sum + n
average = sum/len(values)
return average
def posNumAvg(values):
x = []
average = 0
sum = 0
if int in values > 0:
x.append(int)
print(x)
print(posNumAvg(nums()))
感謝您的幫助,簡化它。對你提到的問題有幫助嗎?我提出這個問題的原因是爲了找到答案。如果用戶輸入一個負號,我該怎麼辦?主要是,如何獲得所描述底部的平均值? – 2015-02-24 05:13:03
'如果不是值:返回float('nan')'處理那裏沒有任何值的平均值 - 'nan',對於「不是數字」,是「沒有這樣的數字」的浮點值。預設字典當然是微不足道的:'d = {''AvgPositive':posNumAvg(values),'等等 – 2015-02-24 05:17:24