这篇文章分享了管理系统,python学生管理系统的使用,这篇文章非常详细地介绍了通过示例代码实现的学生管理系统,该系统对每个人的研究或工作都有一定的参考学习价值。

这个是用python实现的基本的增删改查的学生管理系统吧,其中主要是对输入的数据进行合法性检测的问题,这次又对函数进行了练习!掌握函数更加熟练了!二话不说先贴代码,一切问题请看注释,都很详细,适合python3初学者!

"""

学生管理系统

主要特点:1.可以检测学号是否重复/有误(不为纯数字)

2.可以检测手机号是否合法(是否为纯数字)

3.可以检测性别是否为男或者女

4.能选择性修个学生的某个属性信息,比如只修改某个学生的手机号码

5.能够实现基本的增删改查

6.优化了代码

"""

name_list = [] # 存储学生信息字典,学生信息用字典存,再用列表存储字典

# 菜单

def display_menu():

print("-"*30)

print(" 学生管理系统 v8.8 ")

print("1.添加学生信息")

print("2.删除学生信息")

print("3.修改学生信息")

print("4.查询单个学生信息")

print("5.查询所有学生信息")

print("6.退出系统")

print("-"*30)

# 选择序号的获得

def get_choice():

selected_key = input("请输入选择的序号:")

return selected_key

# 检查性别是否合法

def check_sex(new_sex):

flag = True

while flag:

if new_sex == '男' or new_sex == '女':

flag = False

else:

new_sex = input("输入性别有误,请重新输入(男/女):")

return new_sex

# 检查电话号码是否合法

def check_phone(new_phone):

flag = True

while flag:

if new_phone.isdigit():

flag = False

else:

new_phone = input("您输入的电话号码有误,请重新输入:")

return new_phone

# 检查学号是否重复或者有误

def check_id(new_id):

flag = True

while flag:

# 先检查是不是纯数字再去考虑是否重复的事情,如果不是纯数字直接pass

if new_id.isdigit():

for i in range(len(name_list)):

if name_list[i]['id'] == new_id:

new_id = check_id(input("您输入的学号重复,请重新输入:"))

flag = False

else:

new_id = input("您输入的学号有误,请重新输入:")

return new_id

# 添加学生信息

def add_name():

new_info = {}

new_id = check_id(input("请输入学号:"))

new_info['id'] = new_id

new_name = input("请输入姓名:")

new_info['name'] = new_name

new_sex = check_sex(input("请输入性别(男/女):"))

new_info['sex'] = new_sex

new_phone = check_phone(input("请输入电话号码:"))

new_info['phone'] = new_phone

name_list.append(new_info)

print("添加成功!")

# 查询所有学生信息

def find_all():

print("="*30)

for name in name_list:

print(name['id'], name['name'], name['sex'], name['phone'])

print("=" * 30)

# 删除学生信息

def del_name():

del_id_is = input("请输入要删除的学生学号:")

flag = False

index = 0

for i in range(len(name_list)):

if name_list[i]['id'] == del_id_is:

flag = True

index = i

break

if flag:

name_list.pop(index)

print("删除成功!")

else:

print("学生未找到!请检查学号输入是否有误!")

# 名字修改细节函数

def choice_of_name(index):

while True:

choice = input("请输入要修改学生的(1.id 2.姓名 3.性别 4.电话号码,5.全部修改):")

if choice == '5':

new_id = input("请输入新的学号:")

name_list[index]['id'] = new_id

new_name = input("请输入新的姓名:")

name_list[index]['name'] = new_name

new_sex = check_sex(input("请输入性别(男/女):"))

name_list[index]['sex'] = new_sex

new_phone = check_phone(input("请输入电话号码:"))

name_list[index]['phone'] = new_phone

break

elif choice == '1':

new_id = input("请输入新的学号:")

name_list[index]['id'] = new_id

break

elif choice == '2':

new_name = input("请输入新的姓名:")

name_list[index]['name'] = new_name

break

elif choice == '3':

new_sex = check_sex(input("请输入性别(男/女):"))

name_list[index]['sex'] = new_sex

break

elif choice == '4':

new_phone = check_phone(input("请输入电话号码:"))

name_list[index]['phone'] = new_phone

break

else:

print("输入有误,请重新输入!")

# 修改学生信息

def re_name():

id_is = input("请输入要修改的学生学号:")

flag = False

index = 0

# 先找到要修改的学生的下标

for i in range(len(name_list)):

if name_list[i]['id'] == id_is:

flag = True

index = i

break

if flag:

choice_of_name(index)

print("修改成功!")

else:

print("修改失败,学生信息未找到!")

# 查询单个学生信息

def find_name():

find_id_is = input("请输入要查询的学生学号:")

flag = False

index = 0

for i in range(len(name_list)):

if name_list[i]['id'] == find_id_is:

flag = True

index = i

break

if flag:

print("学生查询到,学生信息为:")

print(name_list[index]['id'], name_list[index]['name'], name_list[index]['sex'], name_list[index]['phone'])

else:

print("学生未找到!")

def main():

exit_name = True

while exit_name:

display_menu()

key = get_choice()

if key == '1':

add_name()

elif key == '2':

del_name()

elif key == '3':

re_name()

elif key == '4':

find_name()

elif key == '5':

find_all()

elif key == '6':

exit_name = False

else:

print("请输入正确的数值!")

main()

以上所述是小编给大家介绍的用python实现学生管理系统详解整合,希望对大家有所帮助,

python做一个系统代码_python初学者,用python3实现基本的学生管理系统代码实例...相关推荐

  1. python删除字典中性别为男_python初学者,用python3实现基本的学生管理系统代码实例...

    本篇文章主要分享python学生管理系统的使用,文章非常详细地介绍了通过示例代码实现的学生管理系统,该系统对每个人的研究或工作都有一定的参考学习价值,希望你能在其中有所收获. 这个是用python实现 ...

  2. python pop check mail_python初学者,用python3实现基本的学生管理系统代码实例

    本篇文章主要分享python学生管理系统的使用,文章非常详细地介绍了通过示例代码实现的学生管理系统,该系统对每个人的研究或工作都有一定的参考学习价值,希望你能在其中有所收获. 这个是用python实现 ...

  3. 用python做系统程序_新手小白做毕设,想用Python做一个系统,那么该学习哪方面的知识?...

    谢邀! 不知道你想做的是什么系统,我就按照平时我工作中接触到的系统,给你一些建议吧. 首先,无论是任何系统,只要是展示给用户的,那么所有的一切其实都是围绕着数据处理和展示来进行开发连接的.如下图: 围 ...

  4. python做一个立体相册_python使用库绘制立体图形方法

    不同于往日,这次实现3D图形,小编给大家带来了一个新的库,这里用到的VisPy库,比起matplot更高级,非常容易上手,虽然知道了解的人可能不是很多,但是这丝毫不影响它是非常简单实用的,好啦,回归本 ...

  5. python做一个星座分析_Python 画简易中文星座

    这段时间出于兴趣,写了一个简单的画星座的代码,效果觉得还不错,所以就发在这里.有兴趣的朋友可以前往以下地址下载:oxno2/star-chart-CN​github.com 现在画星座的软件已经非常之 ...

  6. python做一个系统-用python做一个系统监控程序

    #coding:utf8 from email.mime.text import MIMEText import smtplib,psutil,time,os,datetime destination ...

  7. python制作系统监控_用python做一个系统监控程序

    #coding:utf8 from email.mime.text import MIMEText import smtplib,psutil,time,os,datetime destination ...

  8. 用python写搜索引擎_用python做一个搜索引擎(Pylucene)的实例代码

    1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...

  9. 在哪里能收到python实例代码-用python做一个搜索引擎(Pylucene)的实例代码

    1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...

最新文章

  1. 《JavaScript高效图形编程(修订版)》——6.10 用画布sprites取代DHTMLsprite
  2. etc的常见算法_(转)8种常见机器学习算法比较
  3. 【机器学习】Facets:评估机器学习数据集质量利器 (来自Google、可交互、可可视化)...
  4. hadoop的datanode多磁盘空间处理
  5. 电话光端机技术参数配置介绍
  6. Struts2的ValueStack(值栈)介绍
  7. 分布式session的6种解决方案
  8. 欧姆定律基本知识(笔记)
  9. RHEL 8 - 记录用户会话操作
  10. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...
  11. php yii应用运维,Windows运维之Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤...
  12. ajax无法返回视图
  13. 咖啡品牌“三顿半”完成千万级Pre-A轮融资,峰瑞资本投资...
  14. 【单目标优化求解】基于matlab被囊群算法(TSA)求解最优目标问题【含Matlab源码 1567期】
  15. Who is in me? -- Freeware on Windows
  16. 手撕《现代信号处理》——通俗易懂的现代信号处理章节详解集合
  17. 计算机无法打开命令,电脑点击运行cmd打不开怎么办
  18. (附代码)数独大作业【读取数独,解数独,生成唯一解数独(随机,特定形状,不同难度生成),玩数独】
  19. 2月面经:真可惜...拿了小米的offer,字节却惨挂在三面
  20. 关于更改了配置文件my.ini导致mysql无法启动的问题

热门文章

  1. 华为s8600手机驱动_只有手机才能快充?华为MateBook X的灵巧快充解放你的续航焦虑-华为 ——快科技(驱动之家旗下媒体)-...
  2. java从端口获取数据库_Java之通过接口获取数据并用JDBC存储到数据库中
  3. Windows、Linux和MAC的CR, LF, CR/LF换行符
  4. MATLAB正太分布函数
  5. oracle_sqlserver和mysql获取表外键的方法_mysql、sqlserver、oracle三种数据库维护索引、外键、字段语法总结...
  6. 【详细教程】教你如何使用Node + Express + Typescript开发一个应用
  7. 51单片机按键控制数码管0~9_51单片机外部中断
  8. 【算法图解|2】JavaScript 如何实现数组扁平化
  9. oracle数据库存大文本,Oracle大文本在ASP中存取问题的解决
  10. [one day one question] express 不缓存如何实现