Python 入门教程 10 ---- Student Becomes the Teacher


第一节
     1 练习
        1 设置三个的字典分别为lloyd,alice,tyler
        2 对每一个的字典的key都设置为"name","homework" , "quizzes", "tests"
        3 每个字典的key为"name"对应的为人的名字,其他key对应的值为空列表
[python]  
# three dictionaries  
lloyd = {"name":"Lloyd" , "homework":[] , "quizzes":[] , "tests":[]}  
alice = {"name":"Alice" , "homework":[] , "quizzes":[] , "tests":[]}  
tyler = {"name":"Tyler" , "homework":[] , "quizzes":[] , "tests":[]}  
 
 第二节
     1 练习:把第一个字典lloyd中的三个空列表的值设置对应如下
                    Homework: 90.0, 97.0, 75.0, 92.0
                    Quizzes: 88.0, 40.0, 94.0
                    Test Scores: 75.0, 90.0
[python]  
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]  
}  
 
 第三节
     1 练习:把lloyd , alice , tyler三个字典放到列表students中
[python]  
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]  
}  
# you code here  
students = [lloyd , alice , tyler]  
 
 第四节
     1 练习:按照以下的格式,打印出students列表中的三个字典
[python]  
Lloyd  
[90, 97, 75, 92]  
[88, 40, 94]  
[75, 90]<span style="font-family:Arial,Helvetica,sans-serif"> </span>  
[python] view plaincopy
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]  
}  
# you code here  
students = [lloyd , alice , tyler]  
# you code hrre  
for my_list in students:  
    for str in my_list:  
        print my_list[str]  
 
 第五节
      1 练习
         1 对于每一个数字列表,我们可以求其平均值,比如    average([0]) #0.0,average([0,2]) #1.0,average([0,1]) #0.5
         2 写一个函数average,参数是列表lst,求其平均值并以float形式输出
[python]  
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]  
}  
  
# Add your function below!  
def average(lst):  
    sum = 0  
    for num in lst:  
        sum = sum+num  
    return float(sum)/len(lst)  
 
 第六节
     1 介绍了我们经常需要去求很多数的平均值,比如80 * 0.4 + 86 * 0.6
     2 练习:写一个函数get_average,参数是一个学生字典,使用如下比例Homework  10%, quizzes 30% tests60%算出这个学生的平均得分
[python]  
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]  
}  
  
# Add your function below!  
def average(lst):  
    sum = 0  
    for num in lst:  
        sum = sum+num  
    return float(sum)/len(lst)  
# function get_average  
def get_average(stu):  
    return 0.1*average(stu["homework"])+0.3*average(stu["quizzes"])+0.6*average(stu["tests"])  
   
 
 第七节
      1 练习
          1 写一个函数get_letter_grade,参数是score,按照以下的规则返回对应的等级
[python]  
Scores 90 or above: return "A"  
If 80 <= score < 90: return "B"  
If 70 <= score < 80: return "C"  
If 60 <= score < 70: return "D"  
If score < 60: return "F"  
[python] 
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]  
}  
  
# Add your function below!  
def average(lst):  
    sum = 0  
    for num in lst:  
        sum = sum+num  
    return float(sum)/len(lst)  
  
# function get_average  
def get_average(stu):  
    return 0.1*average(stu["homework"])+0.3*average(stu["quizzes"])+0.6*average(stu["tests"])  
  
# function get_letter_grade  
def get_letter_grade(score):  
    if(score >= 90):  
        return "A"  
    elif(score >= 80 and score < 90):  
        return "B"  
    elif(score >= 70 and score < 80):  
        return "C"  
    elif(score >= 60 and score < 70):  
        return "D"  
    else:  
        return "F"  
 
 第八节
     1 练习:写一个函数get_class_average,参数是班级的列表,求出这个班级所有人的平均值
[python]  
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]  
}  
  
# Add your function below!  
def average(lst):  
    sum = 0  
    for num in lst:  
        sum = sum+num  
    return float(sum)/len(lst)  
  
# function get_average  
def get_average(stu):  
    return 0.1*average(stu["homework"])+0.3*average(stu["quizzes"])+0.6*average(stu["tests"])  
  
# function get_letter_grade  
def get_letter_grade(score):  
    if(score >= 90):  
        return "A"  
    elif(score >= 80 and score < 90):  
        return "B"  
    elif(score >= 70 and score < 80):  
        return "C"  
    elif(score >= 60 and score < 70):  
        return "D"  
    else:  
        return "F"  
  
# function get_class_average  
def get_class_average(class_list):  
    sum = 0  
    for stu in class_list:  
        sum = sum + get_average(stu)  
    return float(sum)/len(class_list)  
      
 
 第十节
     1 练习:打印出students这个班级列表的平均值,然后利用这个值求平均等级
[python]  
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]  
}  
  
# students list  
students = [lloyd , alice , tyler]  
  
# Add your function below!  
def average(lst):  
    sum = 0  
    for num in lst:  
        sum = sum+num  
    return float(sum)/len(lst)  
  
# function get_average  
def get_average(stu):  
    return 0.1*average(stu["homework"])+0.3*average(stu["quizzes"])+0.6*average(stu["tests"])  
  
# function get_letter_grade  
def get_letter_grade(score):  
    if(score >= 90):  
        return "A"  
    elif(score >= 80 and score < 90):  
        return "B"  
    elif(score >= 70 and score < 80):  
        return "C"  
    elif(score >= 60 and score < 70):  
        return "D"  
    else:  
        return "F"  
  
# function get_class_average  
def get_class_average(class_list):  
    sum = 0  
    for stu in class_list:  
        sum = sum + get_average(stu)  
    return float(sum)/len(class_list)  
  
# print you result  
score = get_class_average(students)  
print score  
print get_letter_grade(score  
 

相关内容

    暂无相关文章

评论关闭