如何修复,TypeError:“float”对象不是iterab

2024-10-05 14:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个程序,计算成绩,计算平均数,并显示一个错误时,字母键入。我想我已经完成了代码,但是我不知道如何修复“TypeError:'float'object is not iterable”问题。在

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")

Tags: 代码程序objectcount错误floattotalgrade
1条回答
网友
1楼 · 发布于 2024-10-05 14:31:55

显然你想让用户输入多个数字。然而,在你的代码中,用户只能输入一个数字,一个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

相关问题 更多 >