m0_64542878 2022-10-11 22:07 采纳率: 85.7%
浏览 154
已结题

python练习中遇到的问题

6、给定两行信息,分别为学生姓名和考试成绩,姓名与成绩一一对应,如张三的成绩为80,张飞的成绩为旷考,以此类推。程序输入如下两个字符串:
姓名:张三,张飞,张三丰,王五,李四,赵钱
成绩:80,旷考,93,32, 旷考, 旷考
编写程序,按以下要求处理学生成绩,运行结果必须与图3保持一致。
(1) 将学生信息储存到序列中,旷考用None表示
(2)将两条信息合并,并删除旷考学生;
(3)给姓‘张’的同学,每人成绩加5分;
(4)求平均成绩,并存储在所有学生成绩的最后;
(5)按模板写致家长的一封信,告知家长学生的成绩情况。
预期结果:
(1) 将学生信息储存到序列中,旷考用None表示
[('张三',80),('张飞',None),('张三丰'93),('王五',32),('李四',None),('赵钱',None)]


(2)删除旷考学生
[('张三',80),('张三丰'93),('王五',32)]


(3)给姓‘张’的同学,每人成绩加5分
[('张三',85),('张三丰'98),('王五',37)]


(4)求成绩的平均分,并记录在列表最后
[('张三',85),('张三丰'98),('王五',37),('平均分',73.3]


(5)写一份信,告知家长学生的成绩情况
张三的家长,您好!张三的考试成绩为85,全班平均成绩为73.3
张三丰的家长,您好!张三的考试成绩为98,全班平均成绩为73.3
王五的家长,您好!张三的考试成绩为37,全班平均成绩为73.3

  • 写回答

4条回答 默认 最新

  • ·星辰大海 2022-10-11 22:48
    关注
    
    # (1)
    student=[('张三',80),('张飞',None),('张三丰',93),('王五',32),('李四',None),('赵钱',None)]
    print(student)
    # (2)
    student=list(filter(lambda x:x[1],student))
    print(student)
    # (3)
    student=[tuple((list(i)[0],list(i)[1]+5)) if i[0][0]=='张' else i for i in student]
    print(student)
    # (4)
    student.append(('平均分',round(sum([i[-1] for i in student])/len(student),1)))
    print(student)
    # (5)
    for i in student[:-1]:
        print("{}的家长,您好! {}的考试成绩为{},全班平均成绩为{}".format(i[0],i[0],i[1],student[-1][-1]))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 10月11日

悬赏问题

  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?