【发布时间】:2020-03-19 14:03:27
【问题描述】:
目前我使用的代码是:
import os
import math
import statistics
def main ():
infile = open('USPopulation.txt', 'r')
values = infile.read()
infile.close()
values = values.split('\n')
index = 0
for _ in values:
values[index] = int(values[index])
while index < len(values):
index += 41
print(values)
main()
此代码为我提供了以下输出,它似乎是我正在使用的文本文件中的整数值列表。
[151868, '153982', '156393', '158956', '161884', '165069', '168088', '171187', '174149', '177135', '179979', '182992', '185771', '188483', '191141', '193526', '195576', '197457', '199399', '201385', '203984', '206827', '209284', '211357', '213342', '215465', '217563', '219760', '222095', '224567', '227225', '229466', '231664', '233792', '235825', '237924', '240133', '242289', '244499', '246819', '249623']
我的任务是创建一个程序,显示该时间段内人口的平均变化。在此期间人口增长最大的年份。在该时间段内(与上一年相比)人口增长最小的年份。
我完全不知道如何实现这一点或在哪里检查资源的逻辑,我的教科书对此没有太大帮助。
例如:当我添加以下代码时:
pop = sum(values)
print(statistics.mean(pop))
我收到此错误:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
非常感谢您的帮助。不知道在这里做什么。
【问题讨论】:
-
"values" 的类型不是 int,因此 sum 不适用,
values= [int(i) for i in values] -
另一件事是,"mean" 使用可迭代,"pop" 是值的总和,它不可迭代,你应该
print(statistics.mean(values))
标签: python python-3.x statistics