任务是让用户输入4个数字,然后将它们存储在一个文本文件中,打开该文本文件,在不同的行上显示这4个数字,然后计算这些数字的平均值并向用户显示。
以下是我目前的代码:
__author__ = 'Luca Sorrentino'
numbers = open("Numbers", 'r+')
numbers.truncate() #OPENS THE FILE AND DELETES THE PREVIOUS CONTENT
# Otherwise it prints out all the inputs into the file ever
numbers = open("Numbers", 'a') #Opens the file so that it can be added to
liist = list() #Creates a list called liist
def entry(): #Defines a function called entry, to enable the user to enter numbers
try:
inputt = float(input("Please enter a number")) #Stores the users input as a float in a variable
liist.append(inputt) #Appends the input into liist
except ValueError: #Error catching that loops until input is correct
print("Please try again. Ensure your input is a valid number in numerical form")
entry() #Runs entry function again to enable the user to retry.
x = 0
while x < 4: # While loop so that the program collects 4 numbers
entry()
x = x + 1
for inputt in liist:
numbers.write("%s\n" % inputt) #Writes liist into the text file
numbers.close() #Closes the file
numbers = open("Numbers", 'r+')
output = (numbers.readlines())
my_list = list()
my_list.append(output)
print(my_list)
print(my_list[1])
问题在于从文本文件中加载数字,然后将每个数字存储为变量,以便我可以得到它们的平均值。 我似乎找不到一种特定定位每个数字的方法,只能找到每个字节,这不是我想要的。
readlines
函数周围的括号,只尝试使用print(output)
пјљдЅ еє”иЇҐиѓЅзњ‹е€°дёЂдёЄж•°е—е€—иЎЁгЂ‚ - R Narprint(my_list)
的错误输出和在print(my_list[1])
处崩溃之外,这段代码还存在其他问题。一旦你让它正常工作,我鼓励你在 [codereview.se] 上提出问题。 - 200_successseek
回到开头进行读取。您还可以切换到with
语句以管理文件对象的生命周期。 - ShadowRangerw+
。有关寻找的API在io
模块中有文档记录。 - ShadowRanger