2013-10-03 86 views
0
knowledge= [100,90] 
knowledge=sum(knowledge) 
for n in knowledge: 
    print ('Your average is' + knowledge/n*100) 

thinking= [96,90,97] 
thinking=sum(thinking) 
for n in thinking: 
    print ('Your average is' + thinking/ n*100) 

我想建立一個非常簡單的計算器,計算出你的平均值。我想知道如何讓用戶輸入他們的標記,然後將標記加上併除以標記數量* 100來代替。 我想知道我做錯了什麼。 我還想知道如何添加印刷值並將它們乘以每個類別的價值。例如,知識價值60%,思維價值40%。建議與列表,循環和用戶列表iput爲了創建一個計算器,計算平均

回答

1

你做錯了什麼是從列表[100,90]變化的知識轉化爲一個int 190

for n in 190是不是一個有效的語句

此外

thinking% n*100不如thinking/n*100一樣,第一個使用模運算符(%),它應該使用除法運算符(/

1

如何只:

mean = sum(knowledge)/len(knowledge) 

另外,如果你可以使用numpy的包:

import numpy 
scores_list = [10,120,50,80,500,40] 
scores_array = numpy.array(scores_list) 
scores_mean = numpy.mean(scores_array) 
scores_std = numpy.std(scores_array) 
scores_min = numpy.min(scores_array) 
scores_max = numpy.max(scores_array) 
+1

沒有 – bcollins

1

不知道什麼是這裏的混亂。

>>> thinking= [96,90,97] 
>>> average=sum(thinking)/float(len(thinking)) 
>>> average 
94.33333333333333 
>>> round(average, 2) 
94.33 
>>> average=sum(thinking)/len(thinking) 
>>> average 
94 
1
knowledge= [100,90] 
knowledge=sum(knowledge) 

knowledge現在是一個整數,所以當你嘗試做for n in knowledge,你要遍歷一個整數,但你不能做到這一點。

您的打印語句,我相信,缺少%d字符串格式化發生。

print ('Your average is %d' + % knowledge % n*100) 

這對第二個循環也是一樣的。


獲取列表的平均值,只是做sum(thinking)/len(thinking)(或sum(thinking)/float(len(thinking))如果你處理的花車在2.x系列是,3.x中