到目前为止,我正在运行的代码如下
sudo docker run --runtime=nvidia -it -v /homepath:/workspace -p 8888:8888 tensorflow/tensorflow:2.0.0a0-gpu-py3-jupyter
我的任务是创建一个显示该时间段内人口平均变化的程序。在此期间人口增长最大的年份。在这段时间内人口增长最小的年份(与上一年相比)。
该代码将在一行上打印每个文本文件条目,但是在尝试转换为int以与统计信息包一起使用时,出现以下错误:
values(index)= int(values(index))
SyntaxError:无法分配给函数调用
values(index)= int(values(index))行是从读取以及堆栈溢出资源中获取的。
答案 0 :(得分:1)
您可以将ExecutorService
更改为values = infile.read()
它将以列表而不是字符串的形式输出。
每当读取这样的文件时,往往会发生的事情之一是,在每一行的末尾都有一个不可见的values = list(infile.read())
,它在文本文件中声明了新行,因此是一种拆分的简单方法只需用行将其转换为整数即可,而无需使用'\n'
,而可以使用values = list(infile.read())
来将行的基础分开,只要先前声明了values = values.split('\n')
。
您拥有的while循环可以很容易地用for循环替换,在该循环中您将使用len(values)作为结束。
values
部分是在while循环中执行此操作的一种不错的方法,但是每当在values(index) = int(values(index))
循环中,您都可以使用for
将它们转换为整数,然后{ {1}}成为整数列表。
我个人如何设置:
values[i] = int(values[i])
如果您需要对我在代码中所做的任何说明,只需询问即可。
答案 1 :(得分:0)
我个人将使用numpy读取文本文件。
在您的情况下,我会这样做:
import numpy as np
def main ():
infile = np.loadtxt('USPopulation.txt')
maxpop = np.argmax(infile)
minpop = np.argmin(infile)
print(f'maximum population = {maxpop} and minimum population = {minpop}')
main()