基本上我正在尝试完成一个读取文件。我制作了“make”文件,它将生成10个随机数并将其写入文本文件。这是我到目前为止对“阅读”文件...
def main():
infile = open('mynumbers.txt', 'r')
nums = []
line = infile.readline()
print ('The random numbers were:')
while line:
nums.append(int(line))
print (line)
line = infile.readline()
total = sum(line)
print ('The total of the random numbers is:', total)
main()
我知道它不完整,我还是初学者,这是我对计算机编程或python的第一次介绍。基本上我必须使用循环来收集mynumbers.txt中列出的所有数字的总和。任何帮助将不胜感激。这一直在把我推向一堵墙。
答案 0 :(得分:2)
你不需要在Python中手动迭代(毕竟这不是C):
nums = []
with open("mynumbers.txt") as infile:
for line in infile:
nums.append(int(line))
现在你只需要得到总和,但nums
当然不是line
:
total = sum(nums)
答案 1 :(得分:1)
通常的单行:
total = sum(map(int, open("mynumbers.txt")))
它会生成一个整数列表(虽然非常暂时)。
答案 2 :(得分:0)
虽然我会按照上面的Tim回答,如果你想使用readlines方法,这是另一种方法
# Open a file
infile = open('mynumbers.txt', 'r')
sum = 0
lines = infile.readlines()
for num in lines:
sum += int(num)
print sum
答案 3 :(得分:0)
只是另一种解决方案......: - )
with open("x.txt") as file:
total = sum(int(line) for line in file)
此解决方案将生成器对象的“结果”相加,因此它不是内存密集型,而是短而优雅(pythonic)。