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%。
答案 0 :(得分: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 :(得分: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
答案 2 :(得分:1)
您所做错的是将知识从列表[100,90]
更改为int 190
for n in 190
不是有效的声明
此外
thinking% n*100
与thinking/n*100
不同,第一个使用模运算符(%
),它应该使用除法运算符(/
)
答案 3 :(得分: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))
,如果您正在处理浮点数