m0_58469952
m0_58469952
2021-05-20 23:41
采纳率: 50%
浏览 44

各位大佬救救孩子吧…这个Python程序怎么编啊?

编程2:表格1,正考成绩表,表格2,补考成绩表,现将补考成绩表的分数去更新正考成绩表, 更新的原则是:补考成绩高于正考成绩的,正考成绩被更新为补考成绩,否则保持原成绩不变 编写程序实实现(提示,求交集,并来遍历正考表,若分数低于补考成绩,用补考成绩更新) 正考成绩 姓名 成绩 何进 98 张友爱 67 周冬梅 76 王克平 46 李萍萍 54 周星 88 刘高 33 倪平 45 补考成绩 姓名 成绩 李萍萍 78 王克平 40 刘高 62 周晓 70

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • technologist_16
    已采纳

    用两个字典存储,进行比较

    dic1 = {"何进": 98, "张友爱": 67, "周冬梅": 76, "王克平": 46, "李萍萍": 54, "周星": 88, "刘高": 33, "倪平": 45}
    dic2 = {"李萍萍": 78, "王克平": 40, "刘高": 62, "周晓": 70}
    keys = set(dic1) & set(dic2)
    for k in keys:
        if dic1[k] < dic2[k]:
            dic1[k] = dic2[k]
    print(dic1)
    

    结果:

    {'何进': 98, '张友爱': 67, '周冬梅': 76, '王克平': 46, '李萍萍': 78, '周星': 88, '刘高': 62, '倪平': 45}

    点赞 评论
  • technologist_16

    如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢。
     

    点赞 1 评论
  • benbenli
    benbenli 2021-05-21 01:48
    exam_text = input("请在一行输入所有正考学生姓名和成绩(空格分隔):")
    exam_data = exam_text.split(" ")
    exam_dict = {exam_data[i]: int(exam_data[i + 1]) for i in range(0, len(exam_data), 2)}
    
    supp_text = input("请在一行输入所有补考学生姓名和成绩(空格分隔):")
    supp_data = supp_text.split(" ")
    supp_dict = {supp_data[i]: int(supp_data[i + 1]) for i in range(0, len(supp_data), 2)}
    
    for name in supp_dict:
        supp_score = supp_dict[name]
        if name in exam_dict:
            exam_score = exam_dict[name]
            if supp_score > exam_score:
                exam_dict[name] = supp_score
        else:
            exam_dict[name] = supp_score
    
    print("最终考试成绩:")
    print(exam_dict)
    
    # Output:
    请在一行输入所有正考学生姓名和成绩(空格分隔):何进 98 张友爱 67 周冬梅 76 王克平 46 李萍萍 54 周星 88 刘高 33 倪平 45
    请在一行输入所有补考学生姓名和成绩(空格分隔):李萍萍 78 王克平 40 刘高 62 周晓 70
    最终考试成绩:
    {'何进': 98, '张友爱': 67, '周冬梅': 76, '王克平': 46, '李萍萍': 78, '周星': 88, '刘高': 62, '倪平': 45, '周晓': 70}
    点赞 1 评论
  • QA_Assistant
    有问必答小助手 2021-05-21 11:18

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论

相关推荐