day6-作业
1.聲明一個字典保存一個學生的信息,學生信息中包括: 姓名、年齡、成績(單科)、電話、性別(男、女、不明)
stu = {'name': '張三', 'age': 19, 'gender': '男', 'grade': 90, 'tel': '11111111111'}2.聲明一個列表,在列表中保存6個學生的信息(6個題1中的字典)
students = [{'name': '張三', 'age': 19, 'gender': '男', 'grade': 90, 'tel': '12782937238'},{'name': '李四', 'age': 20, 'gender': '女', 'grade': 60, 'tel': '13743847234'},{'name': '王五', 'age': 18, 'gender': '女', 'grade': 87, 'tel': '14789370943'},{'name': '趙六', 'age': 16, 'gender': '不明', 'grade': 68, 'tel': '19043464632'},{'name': '錢七', 'age': 23, 'gender': '女', 'grade': 74, 'tel': '13842092340'},{'name': '孫八', 'age': 17, 'gender': '男', 'grade': 45, 'tel': '17980243698'} ]? a.統(tǒng)計不及格學生的個數(shù)
count = 0 for a in students:if a['grade'] < 60:count += 1 print('不合格的人數(shù)為:', count)? b.打印不及格學生的名字和對應的成績
count = 0 for a in students:if a['grade'] < 60:count += 1print('不合格的人數(shù)為:', count, '成績?yōu)?#xff1a;', a['grade'])? c.統(tǒng)計未成年學生的個數(shù)
count = 0 for a in students:if a['age'] < 18:count += 1 print('未成年學生人數(shù):', count)? d.打印手機尾號是8的學生的名字
for a in students:if int(a['tel']) % 10 == 8:print('手機尾號是8的學生名字有:', a['name'])? e.打印最高分和對應的學生的名字
max_grade = students[0]['grade'] for a in students:if a['grade'] > max_grade:max_grade = a['grade'] for b in students:if b['grade'] == max_grade:print('分數(shù)最高的學生為:', b['name'], ' 分數(shù)是:', max_grade)break? f.將列表按學生成績從大到小排序(掙扎一下,不行就放棄)
students1 = [] while students:max_grade = students[0]['grade']max_student = 0for a in range(len(students)):if max_grade <= students[a]['grade']:max_grade = students[a]['grade']max_student = astudents1.append(students.pop(max_student)) print(students1)? g.刪除性別不明的所有學生
index = 0 while index < len(students):if students[index]['gender'] != '男' and students[index]['gender'] != '女':del students[index]else:index += 1 print(students)3.用三個列表表示三門學科的選課學生姓名(一個學生可以同時選多門課)
math = ['小明', '小花', '小芳', '小黃'] english = ['小花', '小平', '小華', '小黃', '小何'] history = ['小花', '小華', '小黃']? a. 求選課學生總共有多少人
print(len(math) + len(english) + len(history)) b. 求只選了第一個學科的人的數(shù)量和對應的名字 print(len(math)) for a in math:print(a)? c. 求只選了一門學科的學生的數(shù)量和對應的名字
one_subject = [] for a in math:if a not in english:if a not in one_subject:one_subject.append(a)if a not in history:if a not in one_subject:one_subject.append(a) for b in english:if b not in history:if b not in one_subject:one_subject.append(b) print(len(one_subject), one_subject) d. 求只選了兩門學科的學生的數(shù)量和對應的名字 two_subject = [] for a in math:if a in english and a not in history and a not in two_subject:two_subject.append(a)if a in history and a not in english and a not in two_subject:two_subject.append(a) for b in english:if b in history and b not in math and b not in two_subject:two_subject.append(b) print(len(two_subject), two_subject)? e. 求選了三門學生的學生的數(shù)量和對應的名字
three_subject = [] for a in math:if a in english and a in history and a not in three_subject:three_subject.append(a) print(len(three_subject), three_subject)總結
- 上一篇: python自然语言分析_Python自
- 下一篇: 4G 物联网连接主力--- LTE Ca