从零开始大数据 2 python之题目训练

让我们使用python基础知识完成以下需求吧

需求:进入系统显示系统功能界面,功能如下:

1、添加学员
2、删除学员
3、修改学员信息
4、查询学员信息
5、显示所有学员信息
6、退出系统
系统共6个功能,用户根据自己需求选取。

怎么完成他的需求呢,让我们思考一下

思考结束代码如下

def display_info(student):
    print(f"学号:{student[0]},姓名:{student[1]},手机号:{student[2]}")

def add_student(students, student_id, name, phone_number):
    for student in students:
        if student[0] == student_id:
            print("错误:该学号已存在,请输入唯一的学号。")
            return

    # 如果学号不存在,则添加学员信息
    students.append([student_id, name, phone_number])
    print("学员信息添加成功。")


def delete_student(students, student_id):
    for student in students:
        if student[0] == student_id:
            students.remove(student)
            print(f"学员 {student[1]} 删除成功!")
            return
    print(f"未找到学员,学号为 {student_id} 的学员!")


def amend_student(students, student_id, new_name, new_phone_number):
    for student in students:
        if student[0] == student_id:
            student[1] = new_name
            student[2] = new_phone_number
            print(f"学员 {student[1]} 信息修改成功!")
            return
    print(f"未找到学员,学号为 {student_id} 的学员!")


def find_student(students, student_id):
    for student in students:
        if student[0] == student_id:
            display_info(student)
            return
    print(f"未找到学员,学号为 {student_id} 的学员!")


def display_all_students(students):
    if not students:
        print("暂无学员信息")
    else:
        print("所有学员信息:")
        for student in students:
            display_info(student)


students_list = []
while True:
    print("\n系统功能界面:")
    print("1、添加学员")
    print("2、删除学员")
    print("3、修改学员信息")
    print("4、查询学员信息")
    print("5、显示所有学员信息")
    print("6、退出系统")

    choice = input("请输入您的选择(1-6):")

    if choice == '1':
        student_id = input("请输入学员学号:")
        name = input("请输入学员姓名:")
        phone_number = input("请输入学员手机号:")
        add_student(students_list, student_id, name, phone_number)

    elif choice == '2':
        student_id = input("请输入要删除的学员学号:")
        delete_student(students_list, student_id)

    elif choice == '3':
        student_id = input("请输入要修改的学员学号:")
        new_name = input("请输入新的姓名:")
        new_phone_number = input("请输入新的手机号:")
        amend_student(students_list, student_id, new_name, new_phone_number)

    elif choice == '4':
        student_id = input("请输入要查询的学员学号:")
        find_student(students_list, student_id)

    elif choice == '5':
        display_all_students(students_list)

    elif choice == '6':
        print("感谢使用,再见!")
        break

    else:
        print("输入无效,请重新输入(1-6)")
        


        
 print("_______________________________________________________________________")

那我们再想一下,这个程序每一次登出都会将信息清空,需要重新输入,我们能不能帮输入的信息直接通过python代码写到一个文件里面去呢

当然可以
#加入文件有关代码

def display_info(student):
    print(f"学号:{student[0]},姓名:{student[1]},手机号:{student[2]}")


def load_students():
    try:
        with open('学员信息.txt', 'r', encoding='utf-8') as file:
            lines = file.readlines()

        students = [line.strip().split(',') for line in lines]
        return students

    except FileNotFoundError:
        print("文件 '学员信息.txt' 未找到.")
        return []
    except Exception as e:
        print(f"发生异常: {e}")
        return []


def save_students(students):
    try:
        with open('学员信息.txt', 'w', encoding='utf-8') as file:
            for student in students:
                file.write(','.join(student) + '\n')

    except Exception as e:
        print(f"写入文件时发生异常: {e}")


def add_student(students, student_id, name, phone_number):
    # 检查学号是否已存在
    for student in students:
        if student[0] == student_id:
            print("错误:该学号已存在,请输入唯一的学号。")
            return

    # 如果学号不存在,则添加学员信息
    students.append([student_id, name, phone_number])
    save_students(students)  # 保存到文件
    print("学员信息添加成功。")


def delete_student(students, student_id):
    # 查找学号是否存在
    for student in students:
        if student[0] == student_id:
            # 存在则删除学员信息
            students.remove(student)
            save_students(students)  # 保存到文件
            print("学员信息删除成功。")
            return

    print("错误:未找到该学号的学员。")


def modify_student(students, student_id, new_name, new_phone_number):
    # 查找学号是否存在
    for student in students:
        if student[0] == student_id:
            # 存在则修改学员信息
            student[1] = new_name
            student[2] = new_phone_number
            save_students(students)  # 保存到文件
            print("学员信息修改成功。")
            return

    print("错误:未找到该学号的学员。")


def find_student(students, student_id):
    for student in students:
        if student[0] == student_id:
            display_info(student)
            return
    print(f"未找到学员,学号为 {student_id} 的学员!")


def display_all_students(students):
    if not students:
        print("暂无学员信息")
    else:
        print("所有学员信息:")
        for student in students:
            display_info(student)

students_list = []
while True:
    print("\n系统功能界面:")
    print("1、添加学员")
    print("2、删除学员")
    print("3、修改学员信息")
    print("4、查询学员信息")
    print("5、显示所有学员信息")
    print("6、退出系统")

    choice = input("请输入您的选择(1-6):")
    if choice == '1':
        student_id = input("请输入学号:")
        name = input("请输入姓名:")
        phone_number = input("请输入手机号:")
        add_student(students_list, student_id, name, phone_number)
    elif choice == '2':
        student_id = input("请输入要删除的学员学号:")
        delete_student(students_list, student_id)
    elif choice == '3':
        student_id = input("请输入要修改的学员学号:")
        new_name = input("请输入新的姓名:")
        new_phone_number = input("请输入新的手机号:")
        modify_student(students_list, student_id, new_name, new_phone_number)
    elif choice == '4':
        student_id = input("请输入要查询的学员学号:")
        find_student(students_list, student_id)
    elif choice == '5':
        display_all_students(students_list)
    elif choice == '6':
        print("感谢使用学员管理系统,再见!")
        break
    else:
        print("输入无效,请重新输入。")

那么文章到此截止,不足之处请各位大佬多多指教

愿你在大数据的海洋中航行顺风,发现属于你的数据宝藏!🚢💻

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纪祥_ee1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值