python实现学生信息管理系统

学生信息管理系统负责编辑学生信息,适时地更新学生的资料。下面通过python实现一个简单的学生信息管理系统

stuInfo=[]
def main():
    while True:
        printMenu()  #打印菜单
        key=int(input('请输入功能对应的数字:'))
        if key==1:
            addInfo() #添加学生信息
        elif key==2:
            delInfo() #删除学生信息
        elif key==3:
            modifystuInfo() #修改学生信息
        elif key==4:
            showstuInfo() #查看学生所有信息
        elif key==5:   #退出系统
            quitConfirm=input('真的要退出吗?(Yes or No):')
            if quitConfirm=='Yes':
                break   #结束循环
            else:
                print('输入有误,请重新输入')
                
#打印功能提示         
def printMenu():
    print('='*30)
    print('学生信息管理系统V1.0')
    print('1.添加学生信息')
    print('2.删除学生信息')
    print('3.修改学生信息')
    print('4.显示所有学生信息')
    print('5.退出系统')
    print('='*30)
    
#添加学生信息  
def addInfo():
    newname=input('输入新学生的名字:')
    newsex=input('输入新学生的性别:')
    newphone=input('输入新学生的号码:')
    newInfo={}
    newInfo['name']=newname
    newInfo['sex']=newsex
    newInfo['phone']=newphone
    stuInfo.append(newInfo)
    
#删除学生信息
def delInfo():
    delNum=int(input('请输入要删除的序号:'))-1
    del stuInfo[delNum]
    
#修改学生信息
def modifystuInfo():
    stuId=int(input('请输入要修改的学生序号:'))-1
    newname=input('输入修改后学生的名字:')
    newsex=input('输入修改后学生的性别:')
    newphone=input('输入修改后学生的号码:')
    stuInfo[stuId]['name']=newname
    stuInfo[stuId]['sex']=newsex
    stuInfo[stuId]['phone']=newphone

#显示所有学生信息
def showstuInfo():
    print('='*30)
    print('学生信息如下:')
    print('='*30)
    i=1
    for tempInfo in stuInfo:
        print('%d  %s  %s  %s'%(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone']))
        i+=1
        
    
    

调用main()函数即可:



虽然以上代码可以完成上述功能,但是每次调用程序里面的数据全部清除掉了,所以为了更好的模拟现实的学生信息管理系统,我们还需要将上次操作过后的数据保存下来,所以在上面的基础上加上数据存储的代码。

stuInfo=[]
def main():
    recoverData()
    while True:
        printMenu()  #打印菜单
        key=int(input('请输入功能对应的数字:'))
        if key==1:
            addInfo() #添加学生信息
        elif key==2:
            delInfo() #删除学生信息
        elif key==3:
            modifystuInfo() #修改学生信息
        elif key==4:
            showstuInfo() #查看学生所有信息
        elif key==5:
            saveToFile()
        elif key==0:   #退出系统
            quitConfirm=input('真的要退出吗?(Yes or No):')
            if quitConfirm=='Yes':
                break   #结束循环
            else:
                print('输入有误,请重新输入')
                
#打印功能提示         
def printMenu():
    print('='*30)
    print('学生信息管理系统V1.0')
    print('1.添加学生信息')
    print('2.删除学生信息')
    print('3.修改学生信息')
    print('4.显示所有学生信息')
    print('5.保存数据')
    print('0.退出系统')
    print('='*30)
    
#添加学生信息  
def addInfo():
    newname=input('输入新学生的名字:')
    newsex=input('输入新学生的性别:')
    newphone=input('输入新学生的号码:')
    newInfo={}
    newInfo['name']=newname
    newInfo['sex']=newsex
    newInfo['phone']=newphone
    stuInfo.append(newInfo)
    
#删除学生信息
def delInfo():
    delNum=int(input('请输入要删除的序号:'))-1
    del stuInfo[delNum]
    
#修改学生信息
def modifystuInfo():
    stuId=int(input('请输入要修改的学生序号:'))-1
    newname=input('输入修改后学生的名字:')
    newsex=input('输入修改后学生的性别:')
    newphone=input('输入修改后学生的号码:')
    stuInfo[stuId]['name']=newname
    stuInfo[stuId]['sex']=newsex
    stuInfo[stuId]['phone']=newphone

#显示所有学生信息
def showstuInfo():
    print('='*30)
    print('学生信息如下:')
    print('='*30)
    i=1
    for tempInfo in stuInfo:
        print('%d  %s  %s  %s'%(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone']))
        i+=1
#保存学生信息
def saveToFile():
    f=open('backup.data','w')
    f.write(str(stuInfo))
    f.close()

#恢复数据
def recoverData():
    global stuInfo
    f=open('backup.data')
    content=f.read()
    stuInfo=eval(content)
    f.close()    
    
    

从结果可以看出,选择操作4后可以显示上次保留下来的学生信息。

  • 100
    点赞
  • 784
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
Python语言开发。 (2)实现添加学生信息、查询学生信息、修改学生信息、删除学生信息等基本功能。 (3)学生信息至少包括学号、姓名、年龄、性别、班级等基本信息。 (4)学生信息应当能够以文件的形式进行保存和读取。 这里提供一个基本的学生管理系统的代码示例: ```python import os class Student: def __init__(self, id, name, age, gender, class_name): self.id = id self.name = name self.age = age self.gender = gender self.class_name = class_name def __str__(self): return f"{self.id} {self.name} {self.age} {self.gender} {self.class_name}" class StudentManager: def __init__(self): self.students = [] def add_student(self, student): self.students.append(student) def remove_student(self, student_id): for student in self.students: if student.id == student_id: self.students.remove(student) return True return False def get_student(self, student_id): for student in self.students: if student.id == student_id: return student return None def get_all_students(self): return self.students def save_to_file(self, file_path): with open(file_path, "w") as f: for student in self.students: f.write(str(student) + "\n") def read_from_file(self, file_path): if not os.path.exists(file_path): return with open(file_path, "r") as f: lines = f.readlines() for line in lines: parts = line.strip().split() student = Student(parts[0], parts[1], parts[2], parts[3], parts[4]) self.add_student(student) if __name__ == "__main__": manager = StudentManager() manager.read_from_file("students.txt") while True: print("1. 添加学生") print("2. 查询学生") print("3. 修改学生") print("4. 删除学生") print("5. 显示所有学生") print("6. 退出") choice = input("请选择操作:") if choice == "1": id = input("请输学号:") name = input("请输姓名:") age = input("请输年龄:") gender = input("请输性别:") class_name = input("请输班级:") student = Student(id, name, age, gender, class_name) manager.add_student(student) manager.save_to_file("students.txt") elif choice == "2": id = input("请输学号:") student = manager.get_student(id) if student is not None: print(student) else: print("学生不存在") elif choice == "3": id = input("请输学号:") student = manager.get_student(id) if student is not None: name = input("请输姓名:") age = input("请输年龄:") gender = input("请输性别:") class_name = input("请输班级:") student.name = name student.age = age student.gender = gender student.class_name = class_name manager.save_to_file("students.txt") else: print("学生不存在") elif choice == "4": id = input("请输学号:") if manager.remove_student(id): manager.save_to_file("students.txt") print("删除成功") else: print("学生不存在") elif choice == "5": students = manager.get_all_students() for student in students: print(student) elif choice == "6": break else: print("无效的操作") ``` 其,`Student`类表示一个学生,包含学号、姓名、年龄、性别、班级等属性。`StudentManager`类表示学生管理器,包含添加、删除、查询、修改等基本操作。学生信息可以以文件的形式进行保存和读取。在主函数,使用循环来实现菜单式的操作界面,根据用户输的选择执行相应的操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值