day07-作业

1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明)

student = {'name': '小明', 'age': 23, 'grade': 88, 'phone': '12345678901', 'gender': 'male'}
print(student)

2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
a.统计不及格学生的个数
b.打印不及格学生的名字和对应的成绩
c.统计未成年学生的个数
d.打印手机尾号是8的学生的名字
e.打印最高分和对应的学生的名字
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
g.删除性别不明的所有学生

students = [
    {'name': '小明', 'age': 17, 'grade': 68, 'phone': '12345678901', 'gender': 'male'},
    {'name': '小红', 'age': 23, 'grade': 52, 'phone': '12349578378', 'gender': 'female'},
    {'name': '小娜', 'age': 15, 'grade': 79, 'phone': '12349938483', 'gender': 'female'},
    {'name': '李四', 'age': 16, 'grade': 82, 'phone': '12393884938', 'gender': 'male'},
    {'name': '王二', 'age': 24, 'grade': 57, 'phone': '12304849338', 'gender': '不明'},
    {'name': '多弗朗', 'age': 24, 'grade': 90, 'phone': '12393840933', 'gender': 'male'}
]
count_grade = 0
count_age = 0
str_1 = ''
temp_grade = 0
temp_name = ''
list_grade = []
list_index = 0
for student in students:
    if student['grade'] < 60:
        count_grade += 1
        print(student['name'], student['grade'], end=" ")
    if student['age'] < 18:
        count_age += 1
    if student['phone'][-1] == '8':
        p8_n = ' ' + student['name']
        str_1 += p8_n
    if student['grade'] > temp_grade:
        temp_grade = student['grade']
        temp_name = student['name']
    list_grade.append(student['grade'])
for i in range(len(list_grade)-1):
    for j in range(i+1, len(list_grade)):
        if list_grade[i] < list_grade[j]:
            list_grade[i], list_grade[j] = list_grade[j], list_grade[i]
            students[i], students[j] = students[j], students[i]

print('不及格的人数有{}人'.format(count_grade))
print('未成年学生有{}人'.format(count_age))
print('手机尾号是8的学生有{}'.format(str_1))
print('最高分为{}的{}分'.format(temp_name, temp_grade))
# print(list_grade)
print('列表按学生成绩从大到小排序:', students)
for gend in students:
    if gend['gender'] == '不明':
        gend.clear()
print('删除性别不明的所有学生:', students)
=======================================================================================
小红 52 王二 57 不及格的人数有2人
未成年学生有3人
手机尾号是8的学生有 小红 李四 王二
最高分为多弗朗的90分
列表按学生成绩从大到小排序: [{'name': '多弗朗', 'age': 24, 'grade': 90, 'phone': '12393840933', 'gender': 'male'}, {'name': '李四', 'age': 16, 'grade': 82, 'phone': '12393884938', 'gender': 'male'}, {'name': '小娜', 'age': 15, 'grade': 79, 'phone': '12349938483', 'gender': 'female'}, {'name': '小明', 'age': 17, 'grade': 68, 'phone': '12345678901', 'gender': 'male'}, {'name': '王二', 'age': 24, 'grade': 57, 'phone': '12304849338', 'gender': '不明'}, {'name': '小红', 'age': 23, 'grade': 52, 'phone': '12349578378', 'gender': 'female'}]
删除性别不明的所有学生: [{'name': '多弗朗', 'age': 24, 'grade': 90, 'phone': '12393840933', 'gender': 'male'}, {'name': '李四', 'age': 16, 'grade': 82, 'phone': '12393884938', 'gender': 'male'}, {'name': '小娜', 'age': 15, 'grade': 79, 'phone': '12349938483', 'gender': 'female'}, {'name': '小明', 'age': 17, 'grade': 68, 'phone': '12345678901', 'gender': 'male'}, {}, {'name': '小红', 'age': 23, 'grade': 52, 'phone': '12349578378', 'gender': 'female'}]
[Finished in 0.2s]

3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
a. 求选课学生总共有多少人
b. 求只选了第一个学科的人的数量和对应的名字
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字

list_course1 = []
list_course2 = []
list_course3 = []
chinese_count = 0
c_count = 0
d_count = 0
e_count = 0
course = {
    'chinese': ['路飞', '索隆', '多弗朗明哥', '山治', '鹰眼', '红发', '艾斯'],
    'math': ['艾斯', '鹰眼', '凯多', '红发', '多弗朗明哥', '罗杰', '雷利'],
    'english': ['孙悟空', '贝吉塔', '比鲁斯', '艾斯', '红发', '全王', '弗利沙']
}
for name in course:
    list_course1.extend(course[name])
print('选课学生总共有{}人'.format(len(set(list_course1))))
for first_course in course['chinese']:
    if (first_course not in course['math']) and (first_course not in course['english']):
        chinese_count += 1
        print(first_course, end=' ')
print('只选了第一个学科的人的数量有{}人'.format(chinese_count))
for name_count in list_course1:
    i = list_course1.count(name_count)
    if i == 1:
        c_count += 1
        print(name_count, end=" ")
print('只选了一门学科的学生有{}人'.format(c_count))
for name_count in list_course1:
    j = list_course1.count(name_count)
    if j == 2:
        d_count += 0.5
        list_course2.append(name_count)
new_name = set(list_course2)
for name in new_name:
    print(name, end=" ")
print('只选了两门学科的学生有{}人'.format(d_count))
for name_count in list_course1:
    k = list_course1.count(name_count)
    if k == 3:
        e_count += 1/3
        list_course3.append(name_count)
new_name2 = set(list_course3)
for name in new_name2:
    print(name, end=" ")
print('选了三门学科的学生有{}人'.format(round(e_count)))
====================================================================================
选课学生总共有15人
路飞 索隆 山治 只选了第一个学科的人的数量有3人
路飞 索隆 山治 凯多 罗杰 雷利 孙悟空 贝吉塔 比鲁斯 全王 弗利沙 只选了一门学科的学生有11人
多弗朗明哥 鹰眼 只选了两门学科的学生有2.0人
艾斯 红发 选了三门学科的学生有2人
[Finished in 0.2s]
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351

推荐阅读更多精彩内容

  • 1.声明一个字典保存一个学生的信息, 学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2....
    oct___越来越2阅读 70评论 0 1
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    坐等抱大腿的鬼鬼阅读 198评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    oct___d38e9阅读 192评论 0 0
  • 1.已知一个数字列表,求列表中心元素。 2.已知一个数字列表,求所有元素和。 3.已知一个数字列表,输出所有奇数下...
    刘茂森阅读 364评论 0 0
  • 1.已知一个数字列表,求列表中心元素。 2.已知一个数字列表,求所有元素和。 3.已知一个数字列表,输出所有奇数下...
    __e145阅读 327评论 0 0