我创建了一个程序,该程序生成一个用户选择的数字列表,介于1到500之间。然后,该程序将该列表写入文件,读取文件,并列出所有数字。我需要对数字求和并显示计数。这是我的代码...
numberFile = open("random_number.txt", "w" )
for i in range(int(input("How many random numbers?: "))):
numbers = str(randint(1, 500))
numberFile.write(numbers)
print(numbers)
numberFile.close()
非常感谢您的帮助。
答案 0 :(得分:0)
您可以将其添加到您的代码中。
numberFile = open("random_number.txt", "r" )
sum = 0
for i in numberFile:
sum += int(i)
print(sum)
首先,sum为0。程序读取每个值并将该值加到sum。
答案 1 :(得分:0)
如果您想使用 pythonic 密码,可以用2 * 2行(+1行导入)执行此操作:
import random
# create file
with open("t.txt","w") as nf:
nf.write( '\n'.join(map(str,random.choices(range(1,501),
k=int(input("How many numbers?"))))))
第一个使用输入的值,将其设为int,将其用作random.choices()的“多少”参数,该参数从给定的range (1,501)返回尽可能多的随机数,然后将其馈送到{ {3}}使其成为字符串,以便map()可以将其中的一大串写入文件。
# read / sum file
with open("t.txt","r") as nf:
print(sum(map(int,(x.strip() for x in nf.readlines() if x.strip()) ) ) )
这会将整个文件读取为行列表,剥离换行符,将其转换为int并对它们求和。 (请参见join())
输出生成的内容:
with open("t.txt","r") as nf:
print(nf.read())
总和:
2371
输出文件:
320
13
138
112
369
339
447
44
211
15
110
253