python - 存储变量后如何计算平均值?
问题描述
我正在编写一个程序来计算平均值。一切都很完美,除非程序试图计算平均值。似乎我的输入没有被存储,因此它计算 0.0 作为平均值。我在 3.6 上使用 Python IDLE。这是我的代码:
定义主():
#variables holding the total number of wins per year
year1 = 0
year2 = 0
year3 = 0
year4 = 0
year5 = 0
average = year1 + year2 + year3 + year4 + year5/5
#Introduction
print ("Enter number of wins when prompted")
#Ask user for win totals per year
year1 = (input("Please enter the number of wins for year one: "))
year2 = (input("Please enter the number of wins for year one: "))
year3 = (input("Please enter the number of wins for year one: "))
year4 = (input("Please enter the number of wins for year one: "))
year5 = (input("Please enter the number of wins for year one: "))
#calculate average
print ("Total average of wins over five years: ", average)
这是输入我的值后的结果:
出现提示时输入获胜次数
请输入第一年的获胜次数:8
请输入第一年的获胜次数:6
请输入第一年的获胜次数:3
请输入第一年的获胜次数:7
请输入第一年的获胜次数:9
五年内总平均胜场数:0.0
解决方案
丹尼尔的更新是正确的,你创建的平均值太早了。这里有一些更新的代码可以帮助你学习:
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))
推荐阅读
- c# - Xamarin.Essentials WebAuthenticator 服务器端实现重定向到登录页面而不是 401?
- emq - 在 emqx 中订阅订阅更新
- machine-learning - 为什么训练误差随 KNN 中的 K 值变化?
- database - java.lang.IllegalArgumentException 由于未找到命名查询
- java - 如何在网格矩阵上执行 dijkstra 算法
- java - Spring Data JDBC org.springframework.data.mapping.MappingException:无法从结果集中读取值 rent_movie
- concurrency - 使用共享数据库连接和缓存编写 Rust 微服务的惯用方式是什么?
- asp.net-mvc - 在 Asp.net MVC 中添加区域
- c# - 如何在 C# 中使 Snake 在控制台屏幕上丢失
- linux - Bash - current_history 不执行