Python 存储变量后如何计算平均值?

Python 存储变量后如何计算平均值?,python,python-3.x,Python,Python 3.x,我正在写一个程序来计算平均数。除程序试图计算平均值外,所有操作都非常正常。似乎我的输入没有被存储,因此它计算0.0作为平均值。我在3.6上使用pythonidle。这是我的密码: def main(): 以下是输入我的值后的结果: 在出现提示时输入获胜次数 请输入第一年的获奖人数:8 请输入第一年的获奖人数:6 请输入第一年的获奖人数:3 请输入第一年的获奖人数:7 请输入第一年的获奖人数:9 五年内的总平均获胜数:0.0分配变量后,您必须计算平均值,还需要将输入值转换为整数(int)。正如@

我正在写一个程序来计算平均数。除程序试图计算平均值外,所有操作都非常正常。似乎我的输入没有被存储,因此它计算0.0作为平均值。我在3.6上使用pythonidle。这是我的密码:

def main():

以下是输入我的值后的结果:

在出现提示时输入获胜次数

请输入第一年的获奖人数:8

请输入第一年的获奖人数:6

请输入第一年的获奖人数:3

请输入第一年的获奖人数:7

请输入第一年的获奖人数:9


五年内的总平均获胜数:0.0

分配变量后,您必须计算平均值,还需要将输入值转换为整数(int)。正如@ DeZiLoE和VAGE EZAZARIN所指出的,你应该考虑算术运算的顺序。请遵循以下代码:

print ("Enter number of wins when prompted")

#Ask user for win totals per year

year1 = int(input("Please enter the number of wins for year one: "))
year2 = int(input("Please enter the number of wins for year one: "))
year3 = int(input("Please enter the number of wins for year one: "))
year4 = int(input("Please enter the number of wins for year one: "))
year5 = int(input("Please enter the number of wins for year one: "))

#calculate average

average = (year1 + year2 + year3 + year4 + year5)/5
print ("Total average of wins over five years: ", average)

Daniel的更新是正确的,您过早地创建了平均值。 以下是一些帮助您学习的更新代码:

print ("Enter number of wins when prompted")

#Ask user for win totals per year
wins_by_year = []
for year in range(5):
    wins_by_year.append(int(input("Please enter the number of wins for year {}: ".format(year+1))))

average = sum(wins_by_year)/len(wins_by_year)
print ("Total average of wins over five years: {}".format(average))

你应该考虑算术运算符的次序,也要考虑状态的顺序。首先,所有的平均值=年份1+2年+3年+4年+5年/ 5,应该在打印前结束(“五年内的总平均值:”,平均值)。其次,这是错误的`它应该是平均值=(year1+year2+year3+year4+year5)/5.0您误解了任务在编程中的作用。程序依次遍历每一行并执行它。在代码顶部附近,您的平均值公式计算数字0,并将其存储在名为
average
的变量中。这个公式不是
平均值的某种定义。如果更改年份的值,
average
将不会更改。除非你把它换成别的东西。简而言之,只有在获得所有年份值后,才需要计算平均值并将其存储在
average
中。此外,将所有这些年份都指定为0是毫无意义的。这仍然是一个不正确的平均值公式。请注意操作顺序。平均值=year1+year2+year3+year4+year5/5是错误的。应该是平均值=(year1+year2+year3+year4+year5)/5.0使用修正更新答案使用列表而不是单独的变量并在循环中收集输入也会更简洁,也许OP会从中受益。谢谢你们的帮助!我上大学第一节编程课已经两周了,所以我还不知道如何使用循环!
print ("Enter number of wins when prompted")

#Ask user for win totals per year
wins_by_year = []
for year in range(5):
    wins_by_year.append(int(input("Please enter the number of wins for year {}: ".format(year+1))))

average = sum(wins_by_year)/len(wins_by_year)
print ("Total average of wins over five years: {}".format(average))