Python 如何修复,TypeError:“float”对象不可编辑
我正在尝试编写一个程序,计算分数,计算平均值,并在输入字母时显示错误。我想我已经基本完成了代码的编写,但我对如何修复TypeError感到困惑:“float”对象不是一个不可修复的问题Python 如何修复,TypeError:“float”对象不可编辑,python,python-3.x,Python,Python 3.x,我正在尝试编写一个程序,计算分数,计算平均值,并在输入字母时显示错误。我想我已经基本完成了代码的编写,但我对如何修复TypeError感到困惑:“float”对象不是一个不可修复的问题 def calculate_average(total, count): average = total / count return average while 1: try: grade = float(input("Enter a test score, or a
def calculate_average(total, count):
average = total / count
return average
while 1:
try:
grade = float(input("Enter a test score, or a negative number to get the average: "))
total = sum(grade)
count = len(grade)
if grade < 0:
break
average = calculate_average(total, count)
print("Total: ", total)
print("Average:", round(average))
except ValueError:
print("BRUH")
显然,您希望用户输入多个数字。然而,在您的代码中,用户只能输入单个数字,单个foat显然不能求和,也没有长度 您需要一个包含所有等级的列表,在用户输入所有等级并输入负数后,您可以评估该列表并计算平均值 以下是一个工作示例:
def calculate_average(total, count):
average = total / count
return average
while 1:
grades = []
while 1:
inp = input("Enter a test score, or a negative number to get the average: ")
try:
inpGrade = float(inp)
if inpGrade > 0:
grades.append(inpGrade)
elif inpGrade < 0:
break
except ValueError:
print("BRUH")
total = sum(grades)
count = len(grades)
average = calculate_average(total, count)
print("Total: ", total)
print("Average:", round(average))
break
总数=总分?这不是怎么回事,这不是怎么回事!等级是单个等级,而不是等级列表。