1.聲明一個字典保存一個學(xué)生的信息但校,學(xué)生信息中包括: 姓名、年齡啡氢、成績(單科)状囱、電話
student1 = {'name': '小明', 'age': 18, 'score': 59, 'tel': '13500002235'}
2.聲明一個列表,在列表中保存6個學(xué)生的信息(6個題1中的字典)
student2 = {'name': '張三', 'age': 17, 'score': 69, 'tel': '13500001312'}
student3 = {'name': '李四', 'age': 19, 'score': 62, 'tel': '13500002248'}
student4 = {'name': '王五', 'age': 16, 'score': 77, 'tel': '13500002236'}
student5 = {'name': '二狗', 'age': 18, 'score': 88, 'tel': '13500002437'}
student6 = {'name': '毛毛', 'age': 17, 'score': 39, 'tel': '13500002335'}
students = [student1, student2, student3, student4, student5, student6]
a.統(tǒng)計不及格學(xué)生的個數(shù)
count = 0
for item in students:
if item['score'] < 60:
count += 1
print('不及格學(xué)生個數(shù):', count)
不及格學(xué)生個數(shù): 2
b.打印不及格學(xué)生的名字和對應(yīng)的成績
for item in students:
if item['score'] < 60:
print(item['name'], item['score'])
小明 59
毛毛 39
c.統(tǒng)計未成年學(xué)生的個數(shù)
count = 0
for item in students:
if item['age'] < 18:
count += 1
print('未成年學(xué)生個數(shù):', count)
未成年學(xué)生個數(shù): 3
d.打印手機尾號是8的學(xué)生的名字
for item in students:
if item['tel'][:-2:-1] == '8':
print(item['name'])
李四
e.打印最高分和對應(yīng)的學(xué)生的名字
max_score = students[1]
for item in students:
if max_score['score'] < item['score']:
max_score = item
print('最高分為:', max_score['score'], ',學(xué)生是:', max_score['name'], sep='')
最高分為:88,學(xué)生是:二狗
f.將列表按學(xué)生成績從大到小排序(掙扎一下倘是,不行就放棄)
for i in range(len(students)-1):
for j in range(i+1,len(students)):
if students[i]['score'] < students[j]['score']:
students[i], students[j] = students[j], students[i]
print(students)
[{'name': '二狗', 'age': 18, 'score': 88, 'tel': '13500002437'},
{'name': '王五', 'age': 16, 'score': 77, 'tel': '13500002236'},
{'name': '張三', 'age': 17, 'score': 69, 'tel': '13500001312'},
{'name': '李四', 'age': 19, 'score': 62, 'tel': '13500002248'},
{'name': '小明', 'age': 18, 'score': 59, 'tel': '13500002235'},
{'name': '毛毛', 'age': 17, 'score': 39, 'tel': '13500002335'}]
3.用三個列表表示三門學(xué)科的選課學(xué)生姓名(一個學(xué)生可以同時選多門課)
class1 = ['張三', '王五', '小明', '阿水', '如風(fēng)']
class2 = ['李四', '王五', '毛毛', '小明', '阿水']
class3 = ['張三', '二狗', '毛毛', '小明']
a. 求選課學(xué)生總共有多少人
count = len(set(class1+class2+class3))
print('選課學(xué)生總數(shù)', count)
選課學(xué)生總數(shù) 8
b. 求只選了第一個學(xué)科的人的數(shù)量和對應(yīng)的名字
stu_s = set(class1) - set(class2) - set(class3)
count = len(stu_s)
print('只選了第一個學(xué)科的人個數(shù):', count, ',分別有:', *stu_s, sep=' ')
只選了第一個學(xué)科的人個數(shù): 1 ,分別有: 如風(fēng)
c. 求只選了一門學(xué)科的學(xué)生的數(shù)量和對應(yīng)的名字
stu_s = set(class1) ^ set(class2) ^ set(class3)
count = len(stu_s)
print('只選了一門學(xué)科的人個數(shù):', count, ',分別有:', *stu_s, sep=' ')
只選了一門學(xué)科的人個數(shù): 4 ,分別有: 李四 如風(fēng) 小明 二狗
d. 求只選了兩門學(xué)科的學(xué)生的數(shù)量和對應(yīng)的名字
stu_s = []
stu = class1 + class2 + class3
for item in stu:
if stu.count(item) == 2:
stu_s.append(item)
stu_s = set(stu_s)
count = len(stu_s)
print('只選了兩門學(xué)科的人個數(shù):', count, ',分別有:', *stu_s, sep=' ')
當然所有學(xué)生除去只選了一門和選了三門的學(xué)生亭枷,也是只選了兩門的個數(shù)
只選了兩門學(xué)科的人個數(shù): 4 ,分別有: 王五 毛毛 阿水 張三
e. 求選了三門學(xué)生的學(xué)生的數(shù)量和對應(yīng)的名字
stu_s = []
stu = class1 + class2 + class3
for item in stu:
if stu.count(item) == 3:
stu_s.append(item)
stu_s = set(stu_s)
count = len(stu_s)
print('選了三門學(xué)科的人個數(shù):', count, ',分別有:', *stu_s, sep=' ')
選了三門學(xué)科的人個數(shù): 1 ,分別有: 小明