我到目前为止正在运行的代码如下
import os
import math
import statistics
def main ():
infile = open('USPopulation.txt', 'r')
values = infile.read()
infile.close()
index = 0
while index < len(values):
values(index) = int(values(index))
index += 1
print(values)
main()
The text file contains 41 rows of numbers each entered on a single line like so:
151868
153982
156393
158956
161884
165069
168088
etc.
我的任务是创建一个显示该时间段内人口平均变化的程序。在此期间人口增长最大的年份。在这段时间内人口增长最少的年份(与上一年相比)。
该代码将在一行上打印每个文本文件条目,但是在尝试转换为int以与统计信息包一起使用时,出现以下错误:
值(索引)=整数(值(索引))
SyntaxError:无法分配给函数调用
values(index)= int(values(index))行是从读取以及堆栈溢出资源中获取的。
我个人将使用numpy读取文本文件。
就您而言,我会这样:
import numpy as np
values= np.loadtxt('USPopulation.txt')
print(values)
您可以将values = infile.read()
更改为values = list(infile.read())
它将以列表而不是字符串的形式输出。
并且您拥有的while循环可以轻松地替换为for循环,在该循环中,您将使用len(values)作为结尾。
values(index) = int(values(index))
部分是在while循环中实现的一种不错的方法,但是每当在for
循环中,您都可以使用values[i] = int(values[i])
将它们转换为整数,然后values
成为整数列表。