一篇文章教你用Python实现一个学生管理系统
作者:玫瑰花店 发布时间:2022-01-22 16:25:05
标签:Python,管理系统
片头
Python看了差不多三四天吧,基本上给基础看差不多了。写个管理系统吧,后续不出意外SQL、文件存储版本都会更。
学习Python感想:
人生苦短,我用Python
人生苦短,我用Python
人生苦短,我用Python
人生苦短,我用Python
Python实在太爽了
源码:
使用Python3
'''
学生成绩管理系统
时间:2021.9.9
作者:sunbeam
'''
import time
import os
student_list = [] #定义一个列表类型全局变量
'''
列表里面存储所有学生信息,列表里面每个元素是一个字典,字典里面存放每一个学生的个人信息,存储结构如下
[(姓名1,年龄1,学号1,手机号码1),(姓名2,年龄2,学号2,手机号码2)......]
'''
def time_day():
print()
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))
#主菜单界面
def std_menu():
print("--------欢迎来到sunbeam的第一个python学生管理系统--------")
print(" 1、添加学生信息 2、删除学生信息 ")
print(" 3、查找学生信息 4、修改学生信息 ")
print(" 5、显示所有学生 6、退出系统 ")
num=int(input("根据需求请输入对应的序号:"))
return num
#添加学生信息
def std_add():
while 1:
std_name = input("请输入要添加的学生的姓名:")
std_old = input("请输入要添加的学生的年龄:")
std_id = input("请输入要添加的学生的学号:")
std_tel = input("请输入要添加的学生的电话号码:")
global student_list
# 判断学生是否已存在,如果姓名和学号都重复说明学生存在
for i in student_list:
if (i['name'] == std_name) and (i['id'] == std_id):
print("此学生信息已存在")
return
#如果学生信息不存在则添加学生信息
std_message = {} #创建一个空的字典
std_message['name']=std_name
std_message['old']=std_old
std_message['id']=std_id
std_message['tel']=std_tel
student_list.append(std_message)
text=input("是否继续添加:YES or NO")
if text=='NO':
os.system('cls')
break
else:
os.system('cls')
continue
#查找学生信息
def std_find():
flag=0
while 1:
find_name = input("请输入你要查询的学生的姓名:")
global student_list
for i in student_list:
if (i['name'] == find_name):
print("查询到如下学生:")
print("-------------------")
print(f"姓名:{i['name']}")
print(f"年龄:{i['old']}")
print(f"学号:{i['id']}")
print(f"电话:{i['tel']}")
print("-------------------")
flag=1
if flag==0:
print("查无此人")
lk=input("是否继续查找:YES or NO")
if lk=="NO":
os.system('cls')
break
else:
os.system('cls')
continue
#修改学生信息
def std_modify():
while 1:
find_name=input("请输入要修改的学生的学号:")
global student_list
for i in student_list:
if (i['id']==find_name):
print("你要修改的学生信息如下:")
print("-------------------")
print(f"姓名:{i['name']}")
print(f"年龄:{i['old']}")
print(f"学号:{i['id']}")
print(f"电话:{i['tel']}")
print('-----------------')
while 1:
print(" 1、修改学生姓名 2、修改学生年龄 ")
print(" 3、修改学生学号 4、修改学生电话 ")
modify_num = int(input('请输入要修改的项目序号:'))
if modify_num==1:
modify_name=input("请输入要修改的学生的姓名:")
i['name']=modify_name
elif modify_num==2:
modify_old=input("请输入要修改的学生的年龄:")
i['old']=modify_old
elif modify_num==3:
modify_id=input("请输入要修改的学生的学号:")
i['id']=modify_id
else:
modify_tel=input("请输入要修改的学的生电话:")
i['tel']=modify_tel
print("是否继续修改当前学生信息:YES or NO")
print('---------------------')
modify_flag=input()
if modify_flag=="NO":
print("-----修改完成-----")
break
else:
continue
break
print("是否继续使用修改模块功能:YES or NO")
lag=input()
if lag=="YES":
os.system('cls')
continue
else:
os.system('cls')
break
#显示所有学生信息
def std_all():
global student_list
print('姓名\t年龄\t学号\t电话')
for i in student_list:
print(f"{i['name']}\t{i['old']}\t{i['id']}\t{i['tel']}")
#删除函数
def std_delete():
global student_list
while 1:
print("-----------------")
del_num = input("请输入要删除的学生的学号:")
for i in student_list:
if (i['id'] == del_num):
student_list.remove(i)
print("删除成功")
break
else:
print("查无此人")
del_exit=input("是否退出:YES or NO")
print("-----------------")
if del_exit=='YES':
os.system('cls')
break
else:
os.system('cls')
continue
while 1:
time_day()
user_num=std_menu()
if user_num==1:
std_add()
elif user_num==2:
std_delete()
elif user_num==3:
std_find()
elif user_num==4:
std_modify()
elif user_num==5:
std_all()
elif user_num==6:
os.system('cls')
exit_flag=input("是否退出:YES or NO")
if exit_flag=='YES':
print("感谢使用,bey-bey")
break
else:
continue
else:
print("输入无用序号,请输入菜单前序号。")
来源:https://blog.csdn.net/qq_42695024/article/details/120204214


猜你喜欢
- 我们也可以来做一个,但这个“定时器”的工作时间范围应控制在1个小时至100 毫秒之间: <%sub StartTi
- 一、将数据写入opengauss前提准备:成功opengauss数据库,并创建用户jack,创建数据库datasets。数据准备:所用数据以
- 公司客户在使用网站后台编辑添加修改内容时,经常是直接从word文档里复制内容到编辑器里后就提交。结果是在内容显示页面上是五花八门的样式,有时
- Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者
- 那怎么开始设计一个合格的类呢,一开始就写class{}的都错了,正确的是什么都不写,而是假设这个类已经存在,这个对象已经存在,各种属性方法都
- 本文实例讲述了Pytorch实现的手写数字mnist识别功能。分享给大家供大家参考,具体如下:import torchimport torc
- 以下的文章主要向大家介绍的是实现MySQL远程访问的实际操作流程,以及在实现MySQL远程访问的过程中哪些的相关事项是十分重要的,以下就是文
- 引用body标签有两做法: 第一种:使用DOM Core 即引用某个给定文档的第一个(也是仅有的一个)body标签 document.get
- 字典数据结构分析/* The ma_values pointer is NULL for a combined table * or poi
- 作用:主要记录信息,便于定位查看问题。python logging模块官网:https://docs.python.org/zh-cn/3.
- vue项目页面空白但不报错产生的原因分析vue项目中我们请求一个路由,打开页面发现页面是空白的,产生的主要原因有四种:1.路由重复如果配置了
- 滚动图片可以说是做网站经常会遇到的,特别是做企业网站,最常用的像产品展示,图片展示等,滚动的好处是吸引眼球,让人一下就注意到。之前本站发了一
- 实现在线人数统计最常用的方法就是golobal.asa结合session做,但这种方法有两个不利: 1、每个session要占用12k的服务
- 这段时间在用libev的python版本事件模型,总共只有一个py.so文件,没有.py文件查看源码查看接口,最开始用shell命令直接查看
- 1. 不使用全局变量,适当封装2. 兼容性还行~~3. 代码短,可读性凑合~~呵呵~~~~~a. 拖动效果,16行JS<!DOCTYP
- 使用django自带的 AbstractUser 扩展之后,更改AUTH_USER_MODEL = 'users.UserProfi
- 以连续3天为例,使用工具:MySQL。1.创建SQL表:create table if not exists orde(id varchar
- if判断判断的定义 如果条件满足,就做一件事;条件不满足,就做另一件事; 判断语句又被称为分支语句,有判断,才有分支;i
- k-means算法思想较简单,说的通俗易懂点就是物以类聚,花了一点时间在python中实现k-means算法,k-means算法有本身的缺点
- 本文实例讲述了Python zip()函数用法。分享给大家供大家参考,具体如下:这里介绍python中zip()函数的使用:>>