如何使用字典描述学生信息,使用列表储存学生信息,并进行完善

使用字典描述学生信息,包括sno(学号),name(姓名),score(成绩),使用列表存储学生信息。在课堂已实现代码的基础上完成如下功能:1、完善程序:在增加学生时要进行学号检查,学号不重复才能加入(既要实现学号的唯一性) 2、根据学号查找到某位学生,对其姓名进行修改。3、根据学号找到某位学生,对其信息进行删除。

img

在课堂已实现代码的基础上,你可能需要把之前的代码贴出来。根据本题描述,参考代码如下:

# 学生列表
students = []

def add_student():
    sno = input("请输入学号:")
    name = input("请输入姓名:")
    score = input("请输入成绩:")

    # 检查学号是否已存在
    for student in students:
        if student['sno'] == sno:
            print("学号已存在,请重新输入。")
            return

    # 创建学生字典并添加到列表
    student = {'sno': sno, 'name': name, 'score': score}
    students.append(student)
    print("学生信息添加成功。")


def modify_name():
    sno = input("请输入要修改姓名的学生的学号:")

    # 查找学生并修改姓名
    for student in students:
        if student['sno'] == sno:
            new_name = input("请输入新的姓名:")
            student['name'] = new_name
            print("学生姓名修改成功。")
            return

    print("未找到对应学号的学生。")


def delete_student():
    sno = input("请输入要删除的学生的学号:")

    # 查找学生并删除
    for student in students:
        if student['sno'] == sno:
            students.remove(student)
            print("学生信息删除成功。")
            return

    print("未找到对应学号的学生。")


# 测试
add_student()
add_student()
add_student()
print(students)
modify_name()
print(students)
delete_student()
print(students)
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7417281
  • 以下回答由chatgpt基于相关博客总结生成:

    问题回答

    学生信息描述和列表存储

    Python可以使用字典来描述学生信息,并使用列表来存储多个学生。具体实现如下:

    # 定义学生信息字典
    student1 = {
        '学号': '001',
        '姓名': '张三',
        '年龄': 18,
        '性别': '男',
        '院系': '计算机科学与技术',
    }
    
    student2 = {
        '学号': '002',
        '姓名': '李四',
        '年龄': 20,
        '性别': '女',
        '院系': '电子信息工程',
    }
    
    # 使用列表来存储多个学生
    students = [student1, student2]
    

    学号唯一性检查

    为了保证学号的唯一性,可以在添加学生时进行学号检查。具体步骤如下:

    1. 定义函数 check_id,用于检查学号是否已经存在于列表中。
    def check_id(students, id):
        for student in students:
            if student['学号'] == id:
                return True
        return False
    
    1. 在添加学生之前,先判断该学号是否已经存在。
    # 添加学生信息
    def add_student(students):
        id = input("请输入学号:")
        if check_id(students, id):
            print("该学号已经存在!")
        else:
            name = input("请输入姓名:")
            age = int(input("请输入年龄:"))
            sex = input("请输入性别:")
            department = input("请输入院系:")
            student = {
                '学号': id,
                '姓名': name,
                '年龄': age,
                '性别': sex,
                '院系': department,
            }
            students.append(student)
            print("添加成功!")
    

    修改学生姓名

    要修改学生姓名,可以根据学号查找到该学生,并修改其姓名。具体步骤如下:

    1. 定义函数 find_student,用于根据学号查找学生记录。
    def find_student(students, id):
        for student in students:
            if student['学号'] == id:
                return student
        return None
    
    1. 在修改学生姓名之前,先根据学号查找到该学生。
    # 修改学生姓名
    def update_student(students):
        id = input("请输入学号:")
        student = find_student(students, id)
        if student is None:
            print("找不到该学生!")
        else:
            name = input("请输入新的姓名:")
            student['姓名'] = name
            print("修改成功!")
    

    删除学生信息

    要删除学生信息,可以根据学号从列表中删除该条记录。具体步骤如下:

    1. 定义函数 delete_student,用于根据学号删除学生记录。
    def delete_student(students, id):
        for i in range(len(students)):
            if students[i]['学号'] == id:
                del students[i]
                return True
        return False
    
    1. 在删除学生信息之前,先根据学号查找到该学生。
    # 删除学生信息
    def delete_student_info(students):
        id = input("请输入学号:")
        if delete_student(students, id):
            print("删除成功!")
        else:
            print("找不到该学生!")