| 
 | 
 
20鱼币 
def panel(): 
    print(f'''{'=' * 20} 
欢迎使用 学生管理系统 v3.0 
    1.添加学生信息 
    2.修改学生信息 
    3.删除学生信息 
    4.查看学生信息 
    5.查看所有学生 
    0.退出管理系统 
{"=" * 20}''') 
 
#指令逻辑 
def code(): 
    panel() 
    #所有学生信息存放(增、删、改都会改变的数据) 
    students_list = [{"name":'刘翠花', 'gender':'男', 'age':'18', 'score':'100'},{"name":'王梦洋','gender':'男','age':'18','score':'10'},] 
    #单个学生信息(用于添加修改) 
    while True: 
        student_dict = {} 
        command = input("请输入指令:") 
        #判断指令为空 
        if len(command) == 0 or command.isspace(): 
            print("指令不能为空或空格,",end='') 
        #退出程序功能 
        elif command == '0': 
            print('程序结束!!!') 
            break 
        #添加学生功能 
        elif command == '1': 
            add_student(students_list, student_dict) 
        #修改学生功能 
        elif command == '2': 
            modify_student(students_list, student_dict) 
        #删除学生功能 
        elif command == '3': 
            del_student(students_list, student_dict) 
        #查询学生功能 
        elif command == '4': 
            query_student(students_list, student_dict) 
        #查询所有学生信息功能 
        elif command == '5': 
            data_student(students_list, student_dict) 
        #错误指令逻辑 
        else: 
            print("指令错误,",end='') 
 
def add_student(students_list, student_dict): 
    student_name = [] 
    for i in students_list: 
        student_name.append(i['name']) 
    name = input("请输入学生姓名:") 
    if name in student_name: 
        print('您要添加的学生信息已存在!') 
    else: 
        gender, age, score = input("请输入学生性别:"), input("请输入学生年龄:"), input("请输入学生成绩:") 
        student_dict["name"], student_dict["gender"], student_dict["age"],student_dict['score'] = name, gender, age, score 
        students_list.append(student_dict) 
        print('学生添加完成,', end='') 
 
#修改逻辑 
def modify_student(students_list, student_dict): 
    student_name = [] 
    for i in students_list: 
        student_name.append(i['name']) 
    name = input("请输入学生姓名:") 
    if name in student_name: 
        gender, age, score = input("请输入学生性别:"), input("请输入学生年龄:"), input("请输入学生成绩:") 
        i["name"], i["gender"], i["age"], i['score'] = name, gender, age, score 
        print('学生修改完成,', end='') 
    else: 
        print('您要修改的学生信息不存在!', end='') 
 
#删除逻辑 
def del_student(students_list, student_dict): 
    del_student_dict = input("请输入要删除的学生姓名:") 
    for i in students_list: 
        if i["name"] == del_student_dict: 
            students_list.remove(i) 
            print(f'学生:{i["name"]} 信息已删除!') 
            break 
    else: 
        print('您要删除的信息不存在') 
 
#查询学生信息逻辑 
def query_student(students_list, student_dict): 
    student_name_input = input('请输入您要查询的学生姓名:') 
    for i in students_list: 
        if student_name_input == i["name"]: 
            print(f'学生姓名:{i["name"]}', f'性别:{i["gender"]}', f'年龄:{i["age"]}', f'成绩:{i["score"]}', sep='    ') 
 
    else: 
        print("你要查询的学生信息不存在!!!") 
 
#查询所有学生信息逻辑 
def data_student(students_list, student_dict): 
    if len(students_list) == 0: 
        print('没有学生信息!!!', end='') 
    else: 
        for i in students_list: 
            print(f'学生姓名:{i["name"]}',f'性别:{i["gender"]}',f'年龄:{i["age"]}',f'成绩:{i["score"]}',sep='    ') 
 
code() 
我修改逻辑的 i["name"], i["gender"], i["age"], i['score'] = name, gender, age, score 这段代码为什么不报错,还出效果了,请大神解释一下,谢谢。 
你应该先确定这个人的信息存不存在,然后再录入信息,而不是从所有数据中一个一个的进行对比,然后重复输入 
 
 
 |   
 
 
最佳答案
查看完整内容 
你应该先确定这个人的信息存不存在,然后再录入信息,而不是从所有数据中一个一个的进行对比,然后重复输入 
 
 
 
 
 
 
 |