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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改