python - 类型错误 : '>=' not supported between instances of 'dict' and 'int'

标签 python

我的代码出现以下错误...

类型错误:“dict”和“int”实例之间不支持“>=”

知道为什么吗?尝试运行一个循环,查看每个学生的加权平均分数,然后为他们分配字母等级 A - F ...由于某种原因,当循环尝试提取字母等级时,它拒绝工作。

使用Python 3.7.6

steve = {"Name": "Steve",
         "Homework": [90, 97, 75, 92],
         "Quizzes": [88, 40, 94],
         "Tests": [75, 90]}
alice = {"Name": "Alice",
         "Homework": [100, 92, 98, 100],
         "Quizzes": [88, 40, 94],
         "Tests": [75, 90]}
tyler = {"Name": "Tyler",
         "Homework": [0, 87, 75, 22],
         "Quizzes": [0, 75, 78],
         "Tests": [100, 100]}
print(steve)
print(alice)
print(tyler)


students = []
students = [steve, alice, tyler]

for i in students:
    print(f"Name: {i['Name']}\nHomework: {i['Homework']}\nQuizzes: {i['Quizzes']}\nTests: {i['Tests']}")


numbers = []
def average(numbers):
    return sum(numbers) / len(numbers)

def get_weighted_average(student):
        homework_average = average(student["Homework"])
        quiz_average = average(student["Quizzes"])
        test_average = average(student["Tests"])
        weighted_score = homework_average*.1 + quiz_average*.3 + test_average*.6
        return weighted_score

print(f"Steve's: {get_weighted_average(steve)}")
print(f"Tyler's: {get_weighted_average(tyler)}")
print(f"Alice's: {get_weighted_average(alice)}")

def get_letter_grade(score):
if score >= 90:
    return 'A'
elif score >= (80):
    return 'B'
elif score >= (70):
    return 'C'
elif score >= (60):
    return 'D'
else:
    return 'F'

print(get_letter_grade(50))
print(get_letter_grade(100))
print(get_letter_grade(72.5))

for i in students:
    print(f"Name: {i['Name']}'s weighted score is {get_weighted_average(i)}")
    print(f"Name: {i['Name']}'s letter grade is: {get_letter_grade(i)}")

最佳答案

最后,您需要的是 get_letter_grade(get_weighted_average(i))

,而不是 get_letter_grade(i)

关于python - 类型错误 : '>=' not supported between instances of 'dict' and 'int' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63125864/

相关文章:

python - 加载 PYOMO 时出现问题。我无法使用 Pyomo

python - Matplotlib 隐藏特定刻度线

python - 如何通过 Python 查询在 Elasticsearch 中的不同字段中找到相等的值?

python - 我可以创建一个 PyObject* (numpy.float32)

python - Pandas:如何测试结果?

python - 如何使用图像(OpenCV和Python)正确测试RGB值?

python - 用浮点索引插入一个系列

python - 手动计算春分和至日时,Pyephem 存在 15 分钟差异

python - TCP/IP Server-Client 是否有数据发送限制?

python - 在 Pandas 数据框中,如何按时间连接由组标识的行数据?