首页 > Python资料 博客日记
Python之学生信息管理系统
2024-05-31 02:00:03Python资料围观158次
目录
实现
打印功能菜单、添加学生信息、删除学生信息、修改学生信息、显示学生信息、退出系统,并且需要接收用户的输入,在根据输入内容调用相应函数实现相应功能,模板图如下:
一、基础界面实现
1、主函数
定义主函数main,并通过定义print_menu()函数输打印学生管理系统菜单
#打印功能菜单
def print_menu():
print('='*30)
print('学生管理系统')
print('1.添加学生信息')
print('2.删除学生信息')
print('3.修改学生信息')
print('4.显示所有学生信息')
print('0.退出系统')
print('')
#定义主函数
def main():
print_menu()
if __name__ == "__main__":
main()
2、保持循环,获取用户需求
(1)while True循环:使系统菜单一直保持循环,为后面实现用户选择退出系统后,系统才结束循环作铺垫
(2)变量key:将获取到的用户需要实现的功能进行存储
(3)if循环:多分支循环,再分别实现各个模块的功能
#定义主函数
def main():
while True:
print_menu()
key = input('请输入功能对应的数字:')
if key == '1':
#添加学生信息
pass
elif key == '2':
#删除学生信息
pass
elif key == '3':
#修改学生信息
pass
elif key == '4':
#查找全部学生信息
pass
elif key == '0':
#退出系统
pass
else:
print('输入有误')
二、函数实现模块功能
1、添加学生信息
(1)name,sex,phone:存储用户输入的新学生的姓名,性别,手机号码信息
(2)new_info():定义成一个字典,通过键值对的形式,存储当前学生的所有信息
(3)append():列表的添加,将当前的字典存入列表,作为列表的一个元素
(4)stu_info:定义了一个列表用来存储所有的学生信息
#定义一个列表来存储所有学生信息
stu_info = []
#添加学生信息
def add_stu_info():
name = input('请输入新学生的姓名:')
sex = input('请输入新学生的性别:')
phone = input('请输入新学生的手机号码:')
new_info = dict()#定义一个字典
new_info['name'] = name
new_info['sex'] = sex
new_info['phone'] = phone
stu_info.append(new_info)
2、删除学生信息
(1)len():进入删除操作前先判断学生信息表是否为空
①为空:输出学生信息表为空,直接跳出删除操作
②不空:通过del_num变量记录用户需要删除的学生序号
(2)记录好要删除的学生序号还需要进一步判断输入的序号是否有误
①为flase:输出要删除的序号有误,跳出删除操作
②为true:通过del列表的删除操作进行删除对应序号的学生信息,并输出删除成功
#删除学生信息
def del_stu_info(student):
if len(stu_info) != 0:
del_num = int(input('请输入要删除的序号:')) - 1
if del_num < len(stu_info):
del student[del_num]
print(f'删除指定序号:{del_num+1}成功')
else:
print('要删除的序号有误')
else:
print('学生信息表为空')
3、修改学生信息
(1)len():进入修改操作前先判断学生信息表是否为空
①为空:输出学生信息表为空,直接跳出修改操作
②不空:通过rev_num变量记录用户需要修改的学生序号
(2)记录好要修改的学生序号还需要进一步判断输入的序号是否有误
①为flase:输出要修改的序号有误,跳出修改操作
②为true:通过rev_name、rev_sex、rev_phone变量记录修改后学生的信息
(3)stu_info[][]:通过列表修改元素的方法,将新的信息替换旧的信息
#修改学生信息
def rev_stu_info():
if len(stu_info) != 0:
rev_num = int(input('请输入要修改学生的序号:')) - 1
if rev_num >= len(stu_info):
print("要修改的序号有误")
else:
rev_name = input('请输入要修改学生的姓名:')
rev_sex = input('请输入要修改学生的性别:')
rev_phone = input('请输入要修改学生的手机:')
stu_info[rev_num]['name'] = rev_name
stu_info[rev_num]['sex'] = rev_sex
stu_info[rev_num]['phone'] = rev_phone
else:
print('学生信息表为空')
4、查找全部学生信息
(1)len():进入查找操作前先判断学生信息表是否为空
①为空:输出学生信息表为空,直接跳出查找操作
②不空:输出学生信息如下
(2)i:序号,记录并输出学生数量
(3)for循环:逐个输出列表元素
#查找全部学生信息
def show_stu_info():
if len(stu_info) != 0:
print('学生的信息如下:')
print('=' * 30)
print('序号 姓名 性别 手机号码')
i = 1
for temp_info in stu_info:
print("%d %s %s %s" %(i,temp_info['name'],temp_info['sex'],temp_info['phone']))
i += 1
else:
print('学生信息表为空')
5、退出系统
(1)quit_confirm:再次询问用户是否退出,并记录
(2)if循环:判断用户输入的是Yes还是No
①break:用户输入Yes,即确定退出,跳出while True这个死循环
②coninue:用户输入No,即不退出,则继续新一轮的while True循环
#定义主函数
def main():
while True:
print_menu()
key = input('请输入功能对应的数字:')
if key == '1':
#添加学生信息
pass
elif key == '2':
#删除学生信息
pass
elif key == '3':
#修改学生信息
pass
elif key == '4':
#查找全部学生信息
pass
elif key == '0':
#退出系统
quit_confirm = input('亲,真的要退出么?(Yes/No):')
if quit_confirm == 'Yes':
break
elif quit_confirm == 'No':
continue
else:
print('输入有误,请重新输入')
else:
print('输入有误')
三、整合代码
1、 完整代码
#定义一个列表来存储所有学生信息
stu_info = []
#打印功能菜单
def print_menu():
print('=' * 30)
print('学生管理系统')
print('1.添加学生信息')
print('2.删除学生信息')
print('3.修改学生信息')
print('4.显示所有学生信息')
print('0.退出系统')
print('=' * 30)
#添加学生信息
def add_stu_info():
name = input('请输入新学生的姓名:')
sex = input('请输入新学生的性别:')
phone = input('请输入新学生的手机号码:')
new_info = dict()#定义一个字典
new_info['name'] = name
new_info['sex'] = sex
new_info['phone'] = phone
stu_info.append(new_info)
#删除学生信息
def del_stu_info(student):
if len(student) != 0:
del_num = int(input('请输入要删除的序号:')) - 1
if del_num < len(stu_info):
del student[del_num]
print(f'删除指定序号:{del_num+1}成功')
else:
print('要删除的序号有误')
else:
print('学生信息表为空')
#修改学生信息
def rev_stu_info():
if len(stu_info) != 0:
rev_num = int(input('请输入要修改学生的序号:')) - 1
if rev_num >= len(stu_info):
print("要修改的序号有误")
else:
rev_name = input('请输入要修改学生的姓名:')
rev_sex = input('请输入要修改学生的性别:')
rev_phone = input('请输入要修改学生的手机:')
stu_info[rev_num]['name'] = rev_name
stu_info[rev_num]['sex'] = rev_sex
stu_info[rev_num]['phone'] = rev_phone
else:
print('学生信息表为空')
#查找全部学生信息
def show_stu_info():
if len(stu_info) != 0:
print('学生的信息如下:')
print('=' * 30)
print('序号 姓名 性别 手机号码')
i = 1
for temp_info in stu_info:
print("%d %s %s %s" %(i,temp_info['name'],temp_info['sex'],temp_info['phone']))
i += 1
else:
print('学生信息表为空')
#定义主函数
def main():
while True:
print_menu()
key = input('请输入对应的功能的数字:')
if key == '1':
#添加学生信息
add_stu_info()
elif key == '2':
#删除学生信息
del_stu_info(stu_info)
elif key == '3':
#修改学生信息
rev_stu_info()
elif key == '4':
#显示所有学生信息
show_stu_info()
elif key == '0':
#退出系统
quit_confirm = input('亲,真的要退出么?(Yes/No):')
if quit_confirm == 'Yes' or quit_confirm == 'yes' or quit_confirm == 'YES':
break
elif quit_confirm == 'No' or quit_confirm == 'no' or quit_confirm == 'NO':
continue
else:
print('输入有误,请重新输入')
else:
print('输入有误,请重新输入')
if __name__=='__main__':
main()
2、完整实现过程
标签:
相关文章
最新发布
- 如何用 python 获取实时的股票数据?_python efinance
- Python参数详解、python参数类型、位置参数、默认参数、可选参数
- 【PyTorch】2024保姆级安装教程-Python-(CPU+GPU详细完整版)-
- Python鼠标轨迹算法(游戏防检测)
- 基于Python的美食推荐系统的设计与实现-附源码29124
- python除了熟悉的pandas,openpyxl库也很方便的读取Excel表内容
- Python中的venv虚拟环境详解
- No Python at ‘C:\Users\MI\AppData\Local\Programs\Python\Python39\python.exe‘
- 【30天玩转python】自动化与脚本编写
- Python五大主要用途+零基础基础入门全攻略_python编程有什么用
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程