Python学习(三)

来源:互联网 发布:深圳cnc编程招聘信息 编辑:程序博客网 时间:2024/05/16 19:16
lloyd = {    "name": "Lloyd",    "homework": [90.0, 97.0, 75.0, 92.0],    "quizzes": [88.0, 40.0, 94.0],    "tests": [75.0, 90.0]}alice = {    "name": "Alice",    "homework": [100.0, 92.0, 98.0, 100.0],    "quizzes": [82.0, 83.0, 91.0],    "tests": [89.0, 97.0]}tyler = {    "name": "Tyler",    "homework": [0.0, 87.0, 75.0, 22.0],    "quizzes": [0.0, 75.0, 78.0],    "tests": [100.0, 100.0]}# 计算平均成绩def average(numbers):    total=sum(numbers)    total=float(total)/len(numbers)    return total    #a function called get_average that takes a student dictionary (like lloyd, alice, or tyler) as input and returns his/her weighted average.def get_average(student):    homework=average(student["homework"])    quizzes=average(student["quizzes"])    tests=average(student["tests"])    return 0.1*homework+0.3*quizzes+0.6*tests    # get_letter_grade function that takes a number score as input and returns a string with the letter grade that that student should receive.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(lloyd)#get the average for each student and then calculate the average of those averages.def get_class_average(students):    results=[]    for student in students:        results.append(get_average(student))    return average(results)        students=[lloyd,alice,tyler]print get_class_average(students)print get_letter_grade(get_class_average(students))//高阶函数调用方式

0 0
原创粉丝点击