我遇到的问题是,在打开文件后,它只会计算随机生成的最后一个数字,并且不会添加所有数据。例如,如果您使用数字量为2,它将仅显示生成的最后一个数字而不是所有数字。这是提示:
编写一个程序,将一系列随机数写入文件。每个随机数应该在1到500的范围内。应用程序应该让用户指定文件将包含多少个数字。下一个程序应该从文件中读取随机数,显示数字,然后显示数字的总数和从文件中读取的数字的数量。
# import the random module
import random
# open the file to write to
random_numbers = open('ran_numbers.txt', 'w')
# ask for numbers written to the file
numberOfNumbers = int(input("How many numbers do you want written to the file?: "))
print("Your random numbers are: ")
# number selection
for count in range (numberOfNumbers):
number = random.randint(1,500)
print(number)
# writing numbers to file with new line after
random_numbers.write(str(number)+ '\n')
# close
random_numbers.close()
random_numbers = open('ran_numbers.txt', 'r')
number = 0
total = 0
print("List of numbers:")
for line in random_numbers.readlines():
print(line)
total = total+int(line)
number +=1
print("The Sum of the numbers = "+str(total))
print("The total amount of numbers read are "+str(number))
答案 0 :(得分:1)
只需在语句中缩进4个空格" random_numbers.write(str(number)+' \ n')"所以它来自for循环。然后您将获得所需的输出。实际上发生的事情是你只写了最后一个数字到你的文件,因为你的写作语句不在for循环中。
答案 1 :(得分:0)
我不打算为你做功课,但我建议你这样做: