【发布时间】:2017-07-30 03:43:59
【问题描述】:
我需要用 Python 编写一个程序,它查看单独文本文件中的数字列表,并执行以下操作:显示文件中的所有数字,添加所有数字的总和,告诉我如何文件中有很多数字。 我的问题是它跳过了文件中的第一个数字
这是写入文件的程序的代码,如果有帮助的话:
import random
amount = int (input ('How many random numbers do you want in the file? '))
infile = open ('random_numbers.txt', 'w')
for x in range (amount):
numbers = random.randint (1, 500)
infile.write (str (numbers) + '\n')
infile.close()
这是我读取文件中数字的代码:
amount = 0
total = 0
infile = open ('random_numbers.txt', 'r')
numbers = (infile.readline())
try:
while numbers:
numbers = (infile.readline())
numbers = numbers.strip('\n')
numbers = int (numbers)
print (numbers)
total += numbers
amount += 1
except ValueError:
pass
print ('')
print ('')
amount +=1
print ('Your total is: ' ,total)
print ('The amount of numbers in file is: ', amount)
现在我的问题是它跳过了文件中的第一个数字。我首先注意到它没有给我正确的数字数量,因此附加语句将额外的 1 添加到数量变量。但后来我再次测试,发现它跳过了文件中的第一个数字。
【问题讨论】:
-
这可能是因为在写入文件时您在行尾添加了
'\n',现在在阅读时您将'\n'转换为int这是不可能的跨度> -
@ksai 我很确定这实际上是正确的。我试图从中剥离 \n,但无济于事。