2024-10-02 22:29:34 发布
网友
ctn =0 myfile = open("lab3.txt") lines = myfile.readlines for item in myfile: ctn += item print(int(ctn))
TypeError: unsupported operand type(s) for +=: 'int' and 'str'
你所说的“文件内容总和”到底是什么意思?你把所有的数字都加在一个叫做“lab3.txt”的文件里了吗
要将文件的内容存储在变量中,可以使用myfile.readlines()(不是myfile.readlines括号是必要的。如果不使用方括号,则该语句不会读取任何内容。)或者使用for块一次遍历一行文件的内容但并非两者都是,正如暗影游侠的评论所解释的那样
myfile.readlines()
myfile.readlines
for
假设'lab3.txt'包含以下行
84 236 956 31 163 538 4 861
要找到它们的总和,你可以这样做
ctn = 0 myfile = open('lab3.txt') for item in myfile: ctn += int(item) # convert string to integer print(ctn)
这里,item将按顺序获取文件中每一行的(字符串)值。它被转换成一个整数并加到ctn
item
ctn
readlines返回一个列表(列表中的每个元素都是一个字符串,字符串是文件中的行。)如果必须使用readlines,则必须将列表中的元素转换为整数
readlines
myfile = open('lab3.txt') lines = myfile.readlines() lines_int = [int(item) for item in lines] ctn = sum(lines_int) print(ctn)
别忘了关闭文件
myfile.close()
如果使用文件上下文,就不必为这个close费心了。观察如何将代码减少到两行
close
with open('lab3.txt') as myfile: ctn = sum([int(item) for item in myfile.readlines()])
您的项在代码中没有声明为int。试着分析一下
int ctn = 0 myfile = open("lab3.txt") lines = myfile.readlines for item in myfile: ctn += int(item) print(ctn)
你所说的“文件内容总和”到底是什么意思?你把所有的数字都加在一个叫做“lab3.txt”的文件里了吗
要将文件的内容存储在变量中,可以使用
myfile.readlines()
(不是myfile.readlines
括号是必要的。如果不使用方括号,则该语句不会读取任何内容。)或者使用for
块一次遍历一行文件的内容但并非两者都是,正如暗影游侠的评论所解释的那样假设'lab3.txt'包含以下行
要找到它们的总和,你可以这样做
这里,
item
将按顺序获取文件中每一行的(字符串)值。它被转换成一个整数并加到ctn
readlines
返回一个列表(列表中的每个元素都是一个字符串,字符串是文件中的行。)如果必须使用readlines
,则必须将列表中的元素转换为整数别忘了关闭文件
如果使用文件上下文,就不必为这个
close
费心了。观察如何将代码减少到两行您的项在代码中没有声明为int。试着分析一下
相关问题 更多 >
编程相关推荐