面向对象编程课程小作业-----基于python的学生信息管理系统

考核说明
以下程序开发必须使用 python3.x 语言或者c语言进行编程,答案一定要附上所要求编写程序的完整代码、运行结果以及在你所选择的编程应用软件界面上运行调试结果的全屏截图。
、考核内容及编程要求
请关联一个文件info.txt,用文件操作实现学生信息管理系统的编程,添加3个学生的信息:(A生20210001 男),(B生20210002 文],(C生20210003男),学生信息管理系统需具备如下5项功能并可以在这些功能之间进行自由切换选择,学生信息管理系统的功能选择界面如下:
学生信息管理系统v8.8
1.添加信息
2.修改信息
3.删除信息
4查询信息
5.退出系统
请输入选择的功能序号

filename = 'info.txt' #用于存储学生信息的txt文件名
import os #导入os模块,用于判断路径下文件是否存在
import time
#定义主函数,主函数的作用是通过选择不同的选项进入不同的功能
def main():
    while True:
        menu()
        choice = int(input('请输入选择的功能序号:'))
        if choice in [1, 2, 3, 4, 5]:
            if choice == 5:
                answer = input('您确定要退出系统吗?y/n\n')
                if answer == 'y' or answer == 'Y':
                    print('谢谢您的使用.')
                    break
                else:
                    continue
            elif choice == 1: insert()
            elif choice == 2: modify()
            elif choice == 3: delete()
            elif choice == 4: search()
#定义菜单函数,没什么实际作用的函数,主要是为了让用户看明白应该怎么操作
def menu():
    print('\033[31m---------------------------------')
    print('学生信息管理系统v8.8')
    print('\t1.添加信息')
    print('\t2.修改信息')
    print('\t3.删除信息')
    print('\t4.查询信息')
    print('\t5.退出系统')
    print('--------------------------------')
#定义学生信息添加函数
def insert():
    student_lst = [] #用于存储学生信息的列表
    #while True:
    id = str(input('请输入学号(如1001):'))
    name = input('请输入姓名:')

    sex = input('请输入性别:')

    student = {'ID': id, 'Name': name, 'Sex': sex} #将新的学生信息生成字典
    student_lst.append(student) #将单条学生信息添加到列表后面
    save(student_lst) #save函数在后面有定义
    answer = input('是否继续添加学生信息?y/n\n')
    if answer == 'y': insert()
    else:
        return
        print('学生信息录入完毕.')
#定义学生信息保存函数
def save(lst):
    try:
        stu_txt = open(filename, 'a', encoding = 'utf_8')
    except:
        stu_txt = open(filename, 'w', encoding='utf_8')
    for item in lst:
        stu_txt.write(str(item) + '\n')
    stu_txt.close()
#定义学生信息搜索函数,可以实现按照ID或者姓名搜索
def search():
    while True:
        Method = int(input('请输入查找方法,1表示按ID查找,2表示按姓名查找.'))
        if Method != 1 and Method != 2:
            print('不是预设的查找方法,请重新输入.')
            search() #如果输入值不是1和2,就会要求重新输入,可以通过直接再次运行search()函数实现
      

  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

源码空间站11

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

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

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

打赏作者

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

抵扣说明:

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

余额充值