lilili07 2022-11-08 08:33 采纳率: 74.1%
浏览 21
已结题

关于#input#的问题,如何解决?

name报错,未解析的应用

img

students_info = {}


def 修改学生成绩():
    name = input("请输入要修改的学生的名字:")

    if name in students_info:

        item = input("""请输入要修改的成绩项名字:

        1.编程 2.逻辑 3.沟通 4.合作""")

        grade = input("请输入新的成绩:")

        if item in students_info[name]:

            grade = input("请输入新的成绩:")

            students_info[name][item] = grade

        else:

            print("你输入的科目不正确,请输入'编程' '逻辑' '沟通' '合作'")

    else:

        print("学生名字不在名单中,请重新输入")


def 删除学生成绩():
    name = input("请输入要删除的学生的名字:")

    if name in students_info:

        students_info[name].clear()

        # student_info[name]={}

        print("删除成绩成功")

    else:

        print("学生名字不在名单中,请重新输入")


def 查看学生成绩():
    is_all = input("""查看全部成绩还是一个人的成绩:

    all表示全部,输入人名表示一个人""")

    if is_all == "all":

        print(students_info)

    elif is_all in students_info:

        print(students_info[is_all])

    else:

        print("请输入正确的名字或者all表示全部")


def 添加学生成绩():
    name = input("请输入学生的名字")

    if name in students_info:

        grade = input("""请输入学生成绩:

        分别是 1.编程 2.逻辑 3.沟通 4.合作

        以“#”隔开:

        """)

        li = grade.split("#")

        if len(li) == 4:

            students_info[name] = {"编程": li[0],

                                   "逻辑": li[1],

                                   "沟通": li[2],

                                   "合作": li[3]}

            print("添加成绩成功")

        else:

            print("你的成绩录入错误,请重新录入")



    else:

        print("学生名字不在名单中,请重新输入")


def 添加学生名单():
    names = input("是否添加多个名字,如果多个名字,使用‘-’进行分开")

    name_list = name.split("-")

    for name in name_list:
        students_info[name] = ""  # 给字典添加一个key是name,值是""


def 查询学生名单():
    print(students_info)


def 删除学生名单():
    name = input("请输入要删除的学生名字:")

    if name in students_info:  # students_info是key的集合

        students_info.pop(name)

        print("删除成功")

    else:

        print("请输入正确的名字")


def 修改学生名字():
    old_name = input("请输入要修改的学生名字:")

    if old_name in students_info:

        new_name = input("请输入新的学生名字:")

        v = students_info[old_name]

        students_info.pop(old_name)

        students_info[new_name] = v

        # students_info[new_name] = students_info.pop(old_name)

        print("修改成功")

    else:

        print("请输入正确的名字")


def 菜单():
    print("""学生成绩管理系统:

    1.添加学生名单

    2.查询学生名单

    3.删除学生名单

    4.修改学生名单

    5.添加学生成绩

    6.查询学生成绩

    7.删除学生成绩

    8.修改学生成绩

    9.保存学生信息

    10.读取本地数据

    m.查看操作指导

    q.退出""")


def 获取用户输入():
    choice = input("请输入你的操作选项:")

    return choice


def 主函数():
    菜单()

    while True:

        choice = 获取用户输入()

        if choice == "1":

            添加学生名单()

        elif choice == "2":

            查询学生名单()

        elif choice == "3":

            删除学生名单()

        elif choice == "4":

            修改学生名字()

        elif choice == "5":

            添加学生成绩()

        elif choice == "6":

            查看学生成绩()

        elif choice == "7":

            删除学生名单()

        elif choice == "8":

            修改学生成绩()

        elif choice == "q":

            break

        else:

            print("输入操作有误")


if __name__ == "__main__":
    主函数()





  • 写回答

2条回答 默认 最新

  • 於黾 2022-11-08 09:13
    关注

    names,少打了个s

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月16日
  • 已采纳回答 11月8日
  • 创建了问题 11月8日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大