需要帮助解决Python练习吗

需要帮助解决Python练习吗,python,Python,我必须制作一个简单的Python程序,它允许得到三个不同学生的平均值,最终得到班级平均值并将其打印在屏幕上。代码如下: john = { "name": "John", "homework": [90.0, 97.0, 75.0, 92.0], "extras": [88.0, 40.0, 94.0], "tests": [75.0, 90.0] } paul = { "name": "Paul", "homework": [100.0, 92.0

我必须制作一个简单的Python程序,它允许得到三个不同学生的平均值,最终得到班级平均值并将其打印在屏幕上。代码如下:

john = {
    "name": "John",
    "homework": [90.0, 97.0, 75.0, 92.0],
    "extras": [88.0, 40.0, 94.0],
    "tests": [75.0, 90.0]
}
paul = {
    "name": "Paul",
    "homework": [100.0, 92.0, 98.0, 100.0],
    "extras": [82.0, 83.0, 91.0],
    "tests": [89.0, 97.0]
}
tyler = {
    "name": "Tyler",
    "homework": [0.0, 87.0, 75.0, 22.0],
    "extras": [0.0, 75.0, 78.0],
    "tests": [100.0, 100.0]
}

students = ["john", "paul", "tyler"]

def average(numbers):
    total = sum(numbers)
    total = float(total)
    return total/len(numbers)

def get_average(student):
    homework = average(student["homework"])
    extras = average(student["extras"])
    tests = average(student["tests"])

    return homework*0.1 + extras*0.3 + tests*0.6

def qualifications_in_letters(result):
    if result >= 90:
        return "A"
    elif 80 <= result < 90:
        return "B"
    elif 70 <= result < 80:
        return "C"
    elif 60 <= result < 70:
        return "D"
    else:
        return "F"

def get_class_average(students):
    marks = []
    for student in students:
        marks.append(get_average(student))
    return average(marks)

print get_class_average(students)
print qualifications_in_letters(get_class_average(students))
john={
“姓名”:“约翰”,
“家庭作业”:[90.0,97.0,75.0,92.0],
“附加条款”:[88.0,40.0,94.0],
“测试”:[75.0,90.0]
}
保罗={
“姓名”:“保罗”,
“家庭作业”:[100.0,92.0,98.0,100.0],
“附加条款”:[82.0,83.0,91.0],
“测试”:[89.0,97.0]
}
泰勒={
“姓名”:“泰勒”,
“家庭作业”:[0.0,87.0,75.0,22.0],
“额外费用”:[0.0,75.0,78.0],
“测试”:[100.0,100.0]
}
学生=[“约翰”、“保罗”、“泰勒”]
def平均值(数字):
总数=总和(个数)
总计=浮动(总计)
返回总数/长度(数字)
def get_平均值(学生):
作业=平均(学生[“作业”])
额外费用=平均费用(学生[“额外费用])
测试=平均(学生[“测试”])
返回作业*0.1+附加*0.3+测试*0.6
def资格证书(以字母表示)(结果):
如果结果>=90:
返回“A”

elif 80您的问题在于这行代码:

students = ["john", "paul", "tyler"]
您正在将
学生
列表设置为字符串列表,而不是字典列表。删除报价单

students = [john, paul, tyler]
现在,您有了一个学生词典列表,程序运行时输出如下:

83.8666666667
B

您的问题是这行代码:

students = ["john", "paul", "tyler"]
您正在将
学生
列表设置为字符串列表,而不是字典列表。删除报价单

students = [john, paul, tyler]
现在,您有了一个学生词典列表,程序运行时输出如下:

83.8666666667
B

您的问题是这行代码:

students = ["john", "paul", "tyler"]
您正在将
学生
列表设置为字符串列表,而不是字典列表。删除报价单

students = [john, paul, tyler]
现在,您有了一个学生词典列表,程序运行时输出如下:

83.8666666667
B

您的问题是这行代码:

students = ["john", "paul", "tyler"]
您正在将
学生
列表设置为字符串列表,而不是字典列表。删除报价单

students = [john, paul, tyler]
现在,您有了一个学生词典列表,程序运行时输出如下:

83.8666666667
B

你的
学生
数组是一个字符串数组(字面字符串“john”、“paul”、“tyler”)

您应该使用变量名(无引号)创建数组


你的
学生
数组是一个字符串数组(字面字符串“john”、“paul”、“tyler”)

您应该使用变量名(无引号)创建数组


你的
学生
数组是一个字符串数组(字面字符串“john”、“paul”、“tyler”)

您应该使用变量名(无引号)创建数组


你的
学生
数组是一个字符串数组(字面字符串“john”、“paul”、“tyler”)

您应该使用变量名(无引号)创建数组


哎呀,我把它标错了。我以为你在
get\u class\u average()
的底部循环浏览字典,不是dup,请重新打开。(可能太本地化了?)您可以使用战略性的打印语句来查看正在发生的事情。打印函数参数、函数返回值和变量等内容。你可能想从问题函数开始。哦,天哪,我把它标记为错误的副本。我以为你在
get\u class\u average()
的底部循环浏览字典,不是dup,请重新打开。(可能太本地化了?)您可以使用战略性的打印语句来查看正在发生的事情。打印函数参数、函数返回值和变量等内容。你可能想从问题函数开始。哦,天哪,我把它标记为错误的副本。我以为你在
get\u class\u average()
的底部循环浏览字典,不是dup,请重新打开。(可能太本地化了?)您可以使用战略性的打印语句来查看正在发生的事情。打印函数参数、函数返回值和变量等内容。你可能想从问题函数开始。哦,天哪,我把它标记为错误的副本。我以为你在
get\u class\u average()
的底部循环浏览字典,不是dup,请重新打开。(可能太本地化了?)您可以使用战略性的打印语句来查看正在发生的事情。打印函数参数、函数返回值和变量等内容。您可能希望从问题函数开始。