要求:不能重名

'''
一、需求:进入系统显示系统功能界面,功能如下:
1、添加学员
2、删除学员
3、修改学员信息
4、查询学员信息
5、显示所有学员信息
6、退出功能
''' # 定义功能界面函数
def info_print():
print("请选择功能:")
print("1、添加学员")
print("2、删除学员")
print("3、修改学员信息")
print("4、查询学员信息")
print("5、显示所有学员信息")
print("6、退出功能") info = [] #存储所有学员信息 def add_info():
# 添加学员信息函数
# 1 用户输入学号、姓名、手机号
new_id = input("请输入学号:")
new_name = input("请输入姓名:")
new_tel = input("请输入手机号:") # 2 判断是否添加这个学员,如果学员存在就报错,否则就添加数据
global info
for i in info:
if new_name == i['name']:
print("该用户已存在")
return #退出当前函数,后面的代码不执行 # 准备空字典 字典新增数据 列表追加字典
info_dict = {}
info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['tel'] = new_tel
# print(info_dict)
info.append(info_dict)
print(info) def del_info():
# 删除学员
del_name = input("请输入要删除学员的姓名:")
global info for i in info:
if del_name == i["name"]:
info.remove(i)
break
else:
print("该学员不存在") print(info) def modify_info():
# 修改函数
modify_name = input("请输入要修改学员的姓名:")
global info
for i in info:
if modify_name == i['name']:
i['tel'] = input("请输入新的手机号:")
break
else:
print("该学员不存在")
print(info) def search_info():
# 查询学员信息
search_name = input("请输入要查询学院的姓名")
global info
for i in info:
if search_name == i['name']:
print("查找到学员信息如下:")
print("学号%s,姓名%s,手机号%s"% (i['name'],i['name'],i['tel']))
break
else:
print("该学员不存在") def show_info():
# 显示所有学员信息
print("学号\t姓名\t手机号")
for i in info:
print(i['id'],end = '\t')
print(i['name'],end = '\t')
print(i['tel']) # 1显示功能界面
while True:
info_print()
# 2用户输入功能序号
user_num = int(input("请输入功能序号:"))
# 3 按照用户输入的功能序号,执行不同的功能
if user_num == 1:
add_info()
elif user_num == 2:
del_info()
elif user_num == 3:
# print("修改")
modify_info()
elif user_num == 4:
# print("查询")
search_info()
elif user_num == 5:
# print("显示所有")
show_info()
elif user_num==6:
# print("退出")
# 程序想要结束,退出终止while True
exit_flag = input("确定要退出吗?yes or no")
if exit_flag =='yes':
break
else:
print("输入有误!!!")

python实现学生信息系统的更多相关文章

  1. nwafu - java实习 JDBC练习 - 学生信息系统界面

    学生信息系统界面的实现 - JDBC writer:pprp 登录界面的实现: 分为两个部分: 1.LoginFrame.java : 用windowbuilder进行快速搭建界面,构建好登录的界面, ...

  2. python实现学生选课系统 面向对象的应用:

    一.要求: 选课系统 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 使用pickle保存在文件 学生: 学生:用户名.密码.性别.年龄.选课列表[].上课 ...

  3. 1、纯python编写学生信息管理系统

    1.效果图 2.python code: class studentSys(object): ''' _init_(self) 被称为类的构造函数或初始化方法, self 代表类的实例,self 在定 ...

  4. python之学生信息管理系统

    1 #!usr/bin/python 2 #encoding=utf-8 3 4 #1. 打印学生管理系统界面 5 def printStd(): 6 print ("*"*50) ...

  5. Java程序设计——学生信息系统

    1.团队课程设计博客链接 http://www.cnblogs.com/YYYYYYY/p/7065278.html 2.个人负责模块说明 2.1 管理界面 2.2 清空:单击清空键,可清空数据栏 2 ...

  6. python Django学生管理

    Django 学生管理系统 1. 一对一 班级  模态增加 编辑 <!DOCTYPE html> <html lang="en"> <head> ...

  7. Python实现学生系统

    # 4. 修改之前的学生信息管理程序,实现添加菜单和选择菜单操作功能: # 菜单: # +-----------------------------+ # | 1) 添加学生信息 | # | 2) 查 ...

  8. 学生信息系统(json模块解决数据持久化)

    将学生管理的案例,学生信息由原来的只有姓名,拓展为包含,姓名,年龄,两个属性:完成对应的增.删.查.改,操作 import json,os,time,sys student_list = [] Fil ...

  9. python 04 学生信息管理系统

    今天任务不多,做了学生信息管理系统1.0,使用字典存储学生个体信息,列表存储学生字典.注意dict定义要在循环体内,若定义成全局变量或循环体外,则旧数据会被新数据覆盖.dict属于可变类型数据,内容改 ...

随机推荐

  1. Serializable 和 Parcelable 的区别?

    1.在使用内存的时候,Parcelable 类比 Serializable 性能高,所以推荐使用 Parcelable 类.2.Serializable 在序列化的时候会产生大量的临时变量,从而引起频 ...

  2. hash模块MD5加密

    MD5加密:获取32位加密字符串: 示例(MD5加密'123456')import hashlibhashObject=hashlib.md5(b'123456') #实例化,加密字符串不能直接加密, ...

  3. 如何在Ubuntu / CentOS 6.x上安装Bugzilla 4.4

    这里,我们将展示如何在一台Ubuntu 14.04或CentOS 6.5/7上安装Bugzilla.Bugzilla是一款基于web,用来记录跟踪缺陷数据库的bug跟踪软件,它同时是一款免费及开源软件 ...

  4. 安装 Genymotion及其破解版

    https://blog.csdn.net/sxk874890728/article/details/82721746 安装 Genymotion及其破解版 2018年09月16日 11:18:09  ...

  5. playbook部署mangodb

    playbook文件 [root@localhost ~]# cat deploy_mongo.yaml --- - hosts: webservers become: yes become_meth ...

  6. C# 中的字符串内插

    $ 特殊字符将字符串文本标识为内插字符串. 内插字符串是可能包含内插表达式的字符串文本. 将内插字符串解析为结果字符串时,带有内插表达式的项会替换为表达式结果的字符串表示形式. 此功能在 C# 6 及 ...

  7. centos7.5 升级kernel内核版本

    一,查看当前系统内核版本信息 awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 或 ...

  8. Unity3D 旋转

    Unity有两种设置物体旋转的方式,一种时用Rotate()函数来旋转,另一种时直接构造目标Quaternion来直接赋予rotation. 好吧,不知到写什么,各种旋转和unity2D差不多.在国内 ...

  9. javascript中,一个js中的函数,第一句var _this = this;为什么要这样做?

    javascript中,一个js中的函数,第一句var _this = this;为什么要这样做? 下面是源码: 下面这段代码是常用的网站首页,自动切换span或者tabbar来变更List显示内容的 ...

  10. c++嵌入linux指令以查找文件夹

    char buf[256]={0}; char cmd[64] ={0}; FILE *fp=NULL; snprintf(cmd,sizeof(cmd),"ls %s",&quo ...