学生管理系统-函数&循环&运算符综合练习

复制代码
  1 '''
  2 学习管理系统-命令窗口实现,功能启动如下:
  3     1. 定义功能界面
  4     2. 添加学员
  5     3. 删除学员
  6     4. 修改学员
  7     5. 查询学员
  8     6. 显示所有学员
  9     7. 退出系统
 10 '''
 11 
 12 '''
 13 1. 定义功能界面:用于说明此系统的作用及使用说明
 14 '''
 15 
 16 
 17 def print_instructions():
 18     print('请选择功能--------------')
 19     print('1、添加学员')
 20     print('2、删除学员')
 21     print('3、修改学员')
 22     print('4、查询学员')
 23     print('5、显示所有学员')
 24     print('6、退出系统')
 25     print('-' * 20)
 26 
 27 
 28 # 2. 用于一个列表,每个元素都是1个字典对象,存储学生信息
 29 sutdents_info = []
 30 
 31 
 32 def add_student():
 33     """添加学生"""
 34     # 1. 用户输入:学号、姓名、手机号
 35     new_id = input('请输入学号:')
 36     new_name = input('请输入姓名:')
 37     new_tel = input('请输入手机号:')
 38     # 2. 判断学生是否存在
 39     global sutdents_info
 40     for i in sutdents_info:
 41         print("用户名已经存在")
 42         if new_name == i['name']:
 43             print('此用户已经存在')
 44             # return作用:退出当前函数,后面添加信息的代码不执行
 45             return
 46     # 3. 学生不存在,就追加
 47     student_dict = {}
 48     student_dict['id'] = new_id
 49     student_dict['name'] = new_name
 50     student_dict['tel'] = new_tel
 51 
 52     sutdents_info.append(student_dict)
 53     # 4. 打印添加后学生的信息
 54     print(sutdents_info)
 55 
 56 
 57 def del_student():
 58     """删除学生"""
 59     # 1. 用户输入:删除学员的姓名
 60     del_name = input('请输入姓名:')
 61     global sutdents_info
 62     for i in sutdents_info:
 63         if del_name == i['name']:
 64             sutdents_info.remove(i)
 65             break
 66             # return # 如果使用return,就把else语句删除,直接写print('该学员不存在')
 67     else:
 68         print('该学员不存在')
 69 
 70 
 71 def modify_student():
 72     """修改学生信息"""
 73     modify_name = input("请输入要修改的学生的姓名:")
 74     global sutdents_info
 75     for i in sutdents_info:
 76         if modify_name == i['name']:
 77             i['tel'] = input('请输入新的手机号:')
 78             break
 79     else:
 80         print('该学员不存在')
 81 
 82 
 83 def search_student():
 84     """根据姓名查询学生信息"""
 85     search_name = input("请输入要查询的学生的姓名: ")
 86     global sutdents_info
 87     for i in sutdents_info:
 88         if search_name == i['name']:
 89             print('查询到的学员信息如下---------------')
 90             print(f"学员的学号是{i['id']}, 姓名是{i['name']}, 手机号是{i['tel']}")
 91             break
 92     else:
 93         print('查无此人...')
 94 
 95 
 96 def print_all():
 97     """显示所有学员信息"""
 98     # 1. 打印提示字
 99     print('学号\t姓名\t手机号')
100     # 2. 打印所有学员的数据
101     for i in sutdents_info:
102         print(f"{i['id']}\t{i['name']}\t{i['tel']}")
103 
104 
105 # 3. 主程序
106 if __name__ == '__main__':
107     while True:  # 一个循环,如果用户不退出,会一直运行
108         # 1. 定义功能界面
109         print_instructions()
110         # 2. 对输入序号做处理
111         cmd_num = int(input('请输入功能序号: '))
112         if cmd_num == 1:
113             add_student()
114         elif cmd_num == 2:
115             del_student()
116         elif cmd_num == 3:
117             modify_student()
118         elif cmd_num == 4:
119             search_student()
120         elif cmd_num == 5:
121             print_all()
122         elif cmd_num == 6:
123             exit_flag = input('确定要退出吗?yes or no: ')
124             if exit_flag == 'yes':
125                 break
126         else:
127             print('输入的功能序号有误')
复制代码

 

posted @   Allen_Hao  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示