Python实现一个简单的毕业生信息管理系统的示例代码
作者:起个名字好难丫 发布时间:2023-12-20 04:40:46
标签:Python,毕业生信息管理系统
写在前面:
从昨晚的梦里回忆起数据管理的作业:
实现一个自己的选题----
毕业生信息管理系统,实现学生个人信息基本的增删改查,
我想了想前段时间刚学习的列表,这个简单啊 ,设计一个学生信息列表,然后列表里面再存每个学生详细信息的列表,然后来实现一个基本的增删查改,这个不难啊!直接开始撸代码!
上代码!
def Menu():##菜单主界面
print('*'*22)
print("* 查看毕业生列表输入: 1 *")
print("* 添加毕业生信息输入: 2 *")
print("* 修改毕业生信息输入: 3 *")
print("* 删除毕业生信息输入: 4 *")
print("* 退出系统请输入 0 *")
print('*'*22)
def CheckIdisRight(StudentList,id):##检查学号是否在列表中
for i in range(0, len(StudentList)):
if((id in StudentList[i])==True):
return True
return False
def PrintStudentList(StudentList):#打印学生信息列表
for i in range(0, len(StudentList)):
print(StudentList[i])
def AddStudent(StudentList):##添加学生信息
number = int((input("请输入学号: ")))
if(number<1000000000 and CheckIdisRight(StudentList,number)==False):##学号判断
print("学号输入错误&学号已存在!请重新输入:")
number = (input("请输入学号: "))
name = input("请输入你的名字:")
tell = input("请输入你的电话:")
if(len(tell)!=11):
print("请输入正确的电话号码(11)位: ")
tell = input()
college = input("请输入你的学院名称:")
grade = input("请输入你的年级:")
isjob = int(input("是否就业?:是填 1 否则填0: "))
if(isjob == 1):
company = input("请输入你公司的名称:")
else:
company = 0
arry = [number, name, tell, college, grade, isjob, company]
StudentList.append(arry)##将新建的学生信息进行插入
PrintStudentList(StudentList)##打印学生信息列表
def StudentPersonalMsg():##修改信息界面选择
print('*' * 22)
print("* 修改姓名请输入: 1 *")
print("* 修改电话号码请输入: 2 *")
print("* 修改是否就业请输入: 3 *")
print("* 修改就业公司请输入: 4 *")
print("* 退出修改请输入: 0 *")
print('*' * 22)
def ChangeStudent(StudentList):##修改学生信息模块
##默认学号 年级 等信息不可修改
def changename(StudentList, arry, i):#修改姓名
print(arry)
name = input("请输入修改后的名字:")
StudentList[i][1] = name
print("修改后为:")
PrintStudentList(StudentList)
def changetell(StudentList, arry, i):#修改电话号码
print(arry)
tell = input("请输入修改后的电话号码:")
StudentList[i][2] = tell
print("修改后为:")
PrintStudentList(StudentList)
def changeisgob(StudentList, arry, i):#修改是否就业情况
print(arry)
isgob = int(input("请输入修改后的 是否工作:"))
StudentList[i][5] = isgob
print("修改后为:")
PrintStudentList(StudentList)
def changcompany(StudentList, arry, i):#修改就业公司信息
print(arry)
company = input("请输入修改后的公司为:")
StudentList[i][6] = company
print("修改后为:")
PrintStudentList(StudentList)
print("请输入要修改的学生的学号:")
id = int(input())
i=1
if((CheckIdisRight(StudentList,id))==False):##判断学号是否存在
print("学号不存在!")
if(CheckIdisRight(StudentList,id)==True):
while (i < len(StudentList)):#通过循环找到该学生的信息列表
if (StudentList[i][0] == id):
StudentPersonalMsg()##显示出修改的菜单选项
while (1):
a = int(input("请输入: "))
while (a):
if (a == 1):
##姓名修改
changename(StudentList, StudentList[i], i)
break
if (a == 2):
##电话号码修改
changetell(StudentList, StudentList[i], i)
break
if (a == 3):
##是否就业状态修改
changeisgob(StudentList, StudentList[i], i)
break
if (a == 4 and StudentList[i][5] == 1):
##就业公司修改
changcompany(StudentList, StudentList[i], i)
break
if (a == 4 and StudentList[i][5] == 0):
print("学生尚未就业,请先修改是否就业信息!")
break
if (a == 0):
##按0 退出修改信息功能
break
##返回到主界面的菜单选项
break
i = i + 1
def DeleteStudent(StudentList):##删除学生信息
print("请输入要删除的学生的学号:输入0退出!")
id = int(input())
i = 1
if((CheckIdisRight(StudentList,id))==False):
print("学号不存在!")
if(CheckIdisRight(StudentList,id)==True):
##同样先判断学号学号是否存在
while (i < len(StudentList)):
if (StudentList[i][0] == id):
del StudentList[i]
print("删除成功!")
break
if (id == 0):
break
i = i + 1
PrintStudentList(StudentList)#打印学生信息列表
def main():
Menu()
StudentInfo = ['学号', '姓名', '电话', '学院', '年级', '是否就业', "就业公司"]
##先默认插入一个用于显示的列表的列表
StudentList = [StudentInfo]
while(1):
a = int(input("请输入: "))
while(a):
if(a==1):
PrintStudentList(StudentList)
Menu()
break
if(a==2):
AddStudent(StudentList)
Menu()
break
if(a==3):
ChangeStudent(StudentList)
Menu()
break
if(a==4):
DeleteStudent(StudentList)
Menu()
break
if (a == 0):##按0退出进程
exit()
main()
再看测试效果图:
主界面
1.查看毕业学生信息列表
2.增加毕业学生信息
3.修改毕业学生信息
4.删除毕业生信息
大致实现了一下功能,但是万万没想到!!!
一时语塞的我 :我 *******(这就是不看文档的后果吧!)
算了算了,再重写一个!
来源:https://blog.csdn.net/weixin_42307601/article/details/106600908


猜你喜欢
- 本文分析了mysqld进程关闭的过程,以及如何安全、缓和地关闭MySQL实例,对这个过程不甚清楚的同学可以参考下。关闭过程:1、发起shut
- wed的打印方法具我自己懂得知道的有: 1、JQuery插件Jqprint实现 2、JQery打印插件PrintArea实现网页打印 3、C
- '-----------------------------------------------------------
- *args和 **kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字
- 本文实例讲述了Go语言实现socket的方法。分享给大家供大家参考。具体分析如下:用golang不用他的net包还有什么意义,这里提供一个测
- matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也
- 要写爬虫爬取大量的数据,就会面临ip被封的问题,虽然可以通过设置延时的方法来延缓对网站的访问,但是一旦访问次数过多仍然会面临ip被封的风险,
- 最近在做一个游戏数据统计后台,最基础的功能是通过分析注册登录日志来展示用户数据。在公司内部测试,用户量很少,所以就没有发现什么性能问题。但是
- 进程是cpu资源分配的最小单元,一个进程中可以有多个线程。线程是cpu计算的最小单元。对于Python来说他的进程和线程和其他语言有差异,是
- 如下所示:import jsonf = open("index.html", "wb")json.d
- LabelEncoder 和 OneHotEncoder 是什么- 在数据处理过程中,我们有时需要对不连续的数字或者文本进行数字化处理。-
- 1.什么是ORMORM 全拼Object-Relation Mapping.中文意为 对象-关系映射.在MVC/MVT设
- var chars = ['0','1','2','3','4
- 对于从事数据领域的小伙伴来说,当需要阐述自己观点、展示项目成果时,我们需要在最短时间内让别人知道你的想法。我相信单调乏味的语言很难让别人快速
- 具体代码如下所述:< !DOCTYPE html > <html lang = "en" > &
- import java.util.Scanner; public class regexTest { // 新建类
- 一、题意理解给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构的”。现给定两棵树,请你判断它们是否是
- 本文实例讲述了Python实现统计代码行的方法。分享给大家供大家参考,具体如下:参加光荣之路测试开发班已三月有余,吴总上课也总问“ 咱们的课
- 数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境。主要思路简单说,实现mysql
- ①差集方法一:if __name__ == '__main__':a_list = [{'a' : 1},