我需要用Python编写一个程序,它查看单独文本文件中的数字列表,并执行以下操作:显示文件中的所有数字,添加所有数字的总数,告诉我文件中有多少个数字。 我的问题是,它跳过文件中的第一个数字在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
@ksai我很确定这是事实。我试图从它中剥离\ n,无济于事。 – Whitekong