基于python实现学生信息管理系统

yipeiwu_com6年前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后可以显示上次保留下来的学生信息。

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

解决pycharm无法识别本地site-packages的问题

解决pycharm无法识别本地site-packages的问题

之前一直用python自带的IDLE写python程序,后来发现有一些限制啥的,于是下载了pycharm作为IDE去处理python 新建项目以后本以为能直接跑以前的代码,发现有些库无法...

Python3中条件控制、循环与函数的简易教程

Python3中条件控制、循环与函数的简易教程

一、条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块,而计算机很多自动化任务,也是根据条件判断来实现的。 我们可以通过下图,来了解...

Django工程的分层结构详解

Django工程的分层结构详解

前言 传统上我们都知道在Django中的MTV模式,具体内容含义我们再来回顾一下: M:是Model的简称,它的目标就是通过定义模型来处理和数据库进行交互,有了这一层或者这种类型的对象...

Python直接赋值、浅拷贝与深度拷贝实例分析

Python直接赋值、浅拷贝与深度拷贝实例分析

本文实例讲述了Python直接赋值、浅拷贝与深度拷贝。分享给大家供大家参考,具体如下: 直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内...

python 获得任意路径下的文件及其根目录的方法

似乎有一段时间没有更新博客了,这里就写点小功能,轻松获得电脑任意路径下的文件及文件夹,并将其写入word,以下是主要代码: **import os** **from os impor...