day 8

3849 ワード

変数all_を使用studentsはクラスの学生情報(4つ)を保存し、学生ごとに名前、年齢、成績、電話を保存する必要があります.
all_students = [
    {'name':'stu1', 'age': 19, 'score':81, 'tel':'192222'},
    {'name':'stu2', 'age': 29, 'score':90, 'tel':'211222'},
    {'name':'stu3', 'age': 12, 'score':67, 'tel':'521114'},
    {'name':'stu4', 'age': 30, 'score':45, 'tel':'900012'},
] 

1.生徒の追加:生徒情報を入力し、入力した生徒の情報をall_に保存するstudentsでは、例えば名前:明ちゃん年齢:20成績:100電話:111922でall_studentsに{'name':'明ちゃん','age':20,'score':100,'tel':'111922'}を追加
dict_students = {}
name = input('  :')
age = input('  :')
score = input('  :')
tel = input('  :')
dict_students['name'] = name
dict_students['age'] = age
dict_students['score'] = score
dict_students['tel'] = tel
all_students.append(dict_students)
print(all_students)
    :
[{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'}, 
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'}, 
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '521114'}, 
{'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'}, 
{'name': 'stu5', 'age': '20', 'score': '95', 'tel': '123456'}]

2.名前で学生情報を表示する:たとえば入力:名前:stu 1で印刷:'name':'stu 1','age':19,'score':81,'tel':'192222'
name_in = input('    ')
for index in range(0,len(all_students)):
    if all_students[index]['name'] == name_in:
        print(all_students[index])

3.すべての学生の平均成績と平均年齢を求める
sum_score = 0; sum_age = 0
for index in range(0, len(all_students)):
    sum_score += all_students[index]['score']
    sum_age += all_students[index]['age']
print('        %.2f,     %.2f' %((sum_score)/len(all_students), (sum_age)/len(all_students)))
    :
        70.75,     22.50

.....
sum_score=0
sum_age=0
for index in range(len(all_students)):
    sum_score+=all_students[index]['score']
    sum_age+=all_students[index]['age']
ave_score=sum_score/len(all_students)
ave_age=sum_age/len(all_students)
print("     %.2f,     %.2f"%(ave_score,ave_age))

4.クラスの18歳未満の生徒を削除
for index in range(0, len(all_students)):
    if all_students[index]['age'] < 18:
        del all_students[index]['name']
        del all_students[index]['age']
        del all_students[index]['score']
        del all_students[index]['tel']
print(all_students)
    :[{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'}, {'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'}, {}, {'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'}]

5.クラスで不合格になった学生の人数を集計する
count = 0
for index in range(0, len(all_students)):
    if all_students[index]['score'] < 60:
        count += 1
print(count)
    :
1

6.携帯番号を印刷する最後の学生の名前は2です.
for index in range(len(all_students)):
    student=all_students[index]
    tel= int(student['tel'])
    if tel %10==2:
        print(student['name'])
     :
stu1
stu2
stu4