首页 > 编程语言 >Python----联系与总结

Python----联系与总结

时间:2023-01-09 22:33:49浏览次数:40  
标签:总结 Python ---- 学员 student print input data id

编写一个学生档案系统,要求如下:

1.可以添加、删除、修改、查找学员信息。

2.创建学号时如果已存在,则输出提示并重新添加。

3.查找学员信息时,存在则输出,不存在则给出提示。

student_list = []


def add_student():
    global student_list
    while True:
        new_id = int(input("请输入学号:"))
        new_name = input("请输入姓名:")
        new_age = int(input("请输入年龄:"))
        new_sex = input("请输入性别:")
        new_love = input("请输入爱好:")
        for data_id in student_list:
            if new_id == data_id["id"]:
                print(f"{new_id}该ID已被使用,请重新输入")
                break
        else:
            student_dict = {"id": new_id, "name": new_name, "age": new_age, "sex": new_sex, "love": new_love}
            student_list.append(student_dict)
            print(new_name, "添加成功")
            print(student_list)

        num = int(input("是否继续添加学员信息?1.继续添加 2.返回菜单:"))
        if num == 2:
            break


# 删除学员信息
def del_student():
    while True:
        global student_list
        student_id = int(input("请输入要删除学员的ID:"))
        for id_data in student_list:
            if student_id == id_data["id"]:
                student_list.remove(id_data)
                print(f"ID为{id_data['id']},姓名为{id_data['name']}的学员信息删除成功!")
                break
        else:
            print("您要删除的学员信息不存在!")

        num = int(input("是否继续删除学员信息?1.继续删除 2.返回菜单:"))
        if num == 2:
            break


# 修改学员信息
def rem_student():
    while True:
        global student_list
        student_id = int(input("请输入要修改的学员ID:"))
        for id_data in student_list:
            if student_id == id_data["id"]:
                id_data["id"] = int(input("请输入学员的新ID:"))
                id_data["name"] = input("请输入姓名:")
                id_data["age"] = int(input("请输入年龄:"))
                id_data["sex"] = input("请输入性别:")
                id_data["love"] = input("请输入爱好:")
                student_list.append(id_data)
                print(f"ID为:{id_data['id']}, 姓名为{id_data['name']}姓名为修改成功")
                print(id_data)
                break
        else:
            print("当前学员信息不存在!")

        num = int(input("是否继续修改学员信息?1.继续修改 2.返回菜单:"))
        if num == 2:
            break


# 查找学员信息
def find_student():
    while True:
        global student_list
        sch = int(input("请按照提示操作: 1.按ID查找   2.按姓名查找"))
        if sch == 1:
            id_data = int(input("请输入学员ID:"))
            for data in student_list:
                if id_data == data["id"]:
                    print(f"您要查找的学员信息为:{data}")
                    break
            else:
                print(f"您查询的学员ID为{id_data}信息不存在!")
        elif sch == 2:
            name1 = input("请输入你要查询的学员姓名:")
            for data in student_list:
                if name1 == data["name"]:
                    print(f"您要查询的学员信息为:{data}")
                    break
            else:
                print(f"您查询的学员姓名为{name1}信息不存在!")
        else:
            print("你的输入有误,请重新输入!")
        num = int(input("是否继续查询学员信息?1.继续查询 2.返回菜单:"))
        if num == 2:
            break


# 主函数
def main():
    while True:
        print("========欢迎进入学生管理系统,请选择你要实现的功能========")
        print("\t\t\t********1、添加学员信息********")
        print("\t\t\t********2、删除学员信息********")
        print("\t\t\t********3、修改学员信息********")
        print("\t\t\t********4、查找学员信息********")
        print("\t\t\t********5、退出当前系统********")
        num = int(input("请输入数字选择对应的功能:"))
        if num == 1:
            add_student()
        elif num == 2:
            del_student()
        elif num == 3:
            rem_student()
        elif num == 4:
            find_student()
        elif num == 5:
            break
        else:
            print("您的输入有误,请重新输入")


# 程序入口
if __name__ == '__main__':
    main()

 

标签:总结,Python,----,学员,student,print,input,data,id
From: https://www.cnblogs.com/cenb/p/17038713.html

相关文章

  • day06-Vue03
    Vue0310.组件化编程10.1基本说明官网链接:https://v2.cn.vuejs.org/v2/guide/components-registration.html在大型应用开发时,页面可以划分成很多部分。不同的页面,往往......
  • 关于MyBatis查询属性封装到对象,对象为null的情况源码分析
    源码分析在DefaultResultSetHandler类中getRowValue方法创建映射类相应的对象,如果为列匹配到的值标识foundValues是false,表示没有为对象中任何一个字段映射到一个值,则......
  • 孙宇晨出席香港Web3峰会:火必重回三大的脚步将随行业复苏而加快
    1月9日,POW'ER2023香港Web3创新者峰会在香港数码港举行,波场TRON创始人、火必全球顾问委员会成员孙宇晨受邀与MarsBit联合创始人商思林对话,就香港加密行业发展前景、交易所......
  • 47-Docker-Dockerfile镜像创建自动化生产案例
    基于容器手动制作镜像步骤具体如下:下载一个系统的官方基础镜像,如:CentOS或Ubuntu基于基础镜像启动一个容器,并进入到容器在容器里面做配置操作安装基础命令配置运行环......
  • 2023年的油价走势,Forexclub认为与这息息相关,你认为对吗?
    2023年初,Forexclub认为有几个因素决定今年油价的中短期走势。供求关系、全球货币政策、经济增长大幅放缓的预期和可能的衰退,以及中国疫情的战胜,都会对原油价格产生影响。今......
  • Vue中全局事件总线
    Vue中全局事件总线1:全局事件总线2:示例代码结构3:代码内容vue.config.jsconst{defineConfig}=require('@vue/cli-service')module.exports=defineConfig({transpi......
  • 计算机网络名词学习
    就在刚刚过去的这个周末,UEFI论坛正式发布了UEFISpec2.10规范[1]和ACPISpec6.5[2]。在这两个重量级更新中,比较引人注目的是龙芯CPU的LoongArch架构正式进入UEFI和ACPI规......
  • round
    #include<math.h>#include<iostream>usingnamespacestd;#definefnrint//https://gcc.gnu.org/onlinedocs/cpp/Stringizing.html#definexstr(s)str(s)#de......
  • Verilog基本语法(二)模块
    模块module<模块名>(<模块端口列表>,<端口声明>(若有),<参数声明>(可选));...//模块内容//1-wire,reg和其他类型的变量声明;//2-数据流语句(assign);//3-......
  • 开发者工具与idea代码缺失
    开发者工具与idea代码缺失 当categoryList为空时,<dd></dd>之间显示结果为无,所以开发者工具也无这段代码。 ......