我正在尝试编写一个计算成绩,计算平均值并在键入字母时显示错误的程序。我认为代码已基本完成,但是我对如何解决“ TypeError”感到困惑:“浮动”对象不可迭代”问题。
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")
答案 0 :(得分:0)
很显然,您要用户输入多个数字。但是,在您的代码中,用户只能输入一个数字,并且显然不能对单个小号进行求和,也没有长度。
您需要一个包含所有成绩的列表,并且在用户输入所有成绩并输入负数之后,您可以评估该列表并计算平均值。
这是一个有效的示例:
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