用于显示python文件中创建的数字总数的程序
我编写了以下代码以显示以下内容:用于显示python文件中创建的数字总数的程序,python,Python,我编写了以下代码以显示以下内容: 由用户选择的若干随机整数 这些整数的总和 总数 问题在于总数的显示,它是连接整数的,尽管我相信我正确地使用了int() # This program will write a series of random numbers to a file, and then read and print these numbers # total of all numbers will be displayed # number of files read from
- 由用户选择的若干随机整数
- 这些整数的总和
- 总数
# This program will write a series of random numbers to a file, and then read and print these numbers
# total of all numbers will be displayed
# number of files read from the file will be displayed
import random
def randomNumberMaker():
random_numbers = open('randoms.txt', 'w')
try:
for i in range(int(input('How many random numbers? :'))):
line_1 = str(random.randint(1, 501))
random_numbers.write(line_1)
print(line_1)
except bad_number:
print("A non integer was entered, sorry.")
random_numbers.close()
randomNumberMaker()
random_number_file = open("randoms.txt", "r")
total= 0
number_of_numbers= 0
line = random_number_file.readline()
while line != "" :
number_of_numbers += 1
number= int (line)
total += number
print(number)
line = random_number_file.readline()
print ("\nThe total number of numbers:" + str(total) +\
"\n There are " + str(number_of_numbers)+ \
" numbers in the file")
只需在每个随机数的末尾添加端点
line_1 = str(random.randint(1, 501)) + '\n'
由于没有添加任何结束行字符,因此输入文件只包含一行输入,代码真正做的是将这1个连接字符串转换为int并打印出来。您正确使用了int()
,但问题出在randoms.txt
文件中。您将所有数字写在一行中,没有空格,因此程序无法知道在何处拆分数字。在写入每个数字后添加换行符可修复此问题:
random_numbers.write(line_1 + "\n")
randomNumberMaker()函数中存在问题。您将所有数字写在一行中,因此总是只返回一个数字,这是所有随机数的文本连接 换线
random\u numbers。将(line\u 1)
写入random\u numbers。将(line\u 1+“\n”)
写入,所有操作都将按预期进行。请为“显示总数”添加一个预期输出的示例,以便可能的答案可以解决特定问题。在写入文件时,您可能需要添加一个新行,像“随机数”。写(行1+”\n)谢谢你的朋友!