Python 如何修复,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

我正在尝试编写一个程序,计算分数,计算平均值,并在输入字母时显示错误。我想我已经基本完成了代码的编写,但我对如何修复TypeError感到困惑:“float”对象不是一个不可修复的问题

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
总数=总分?这不是怎么回事,这不是怎么回事!等级是单个等级,而不是等级列表。