您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python函数实现学员管理系统

51自学网 2021-10-30 22:25:19
  python
这篇教程Python函数实现学员管理系统写得很实用,希望能帮到您。

本文实例为大家分享了Python函数实现学员管理系统的具体代码,供大家参考,具体内容如下

这个是一个简单的管理程序

输入姓名,年龄,性别(也可以添加其他类别例如性取向),然后以列表的形式保存(默认为空列表)。功能如下:

  • 按1添加成员
  • 按2删除成员
  • 按3修改成员信息(目前不包括姓名但是可以添加)
  • 按4检索并打印某个成员的全部信息
  • 按5打印全部成员的信息
  • 按6退出程序

大概就是这样子。下面是代码:

import timedef main():  '''主函數'''  while True:    sl(),select_function()    sl()    user_input = input('select your operation: ')    if   user_input == '1':      sl(),add_op()    elif user_input == '2':      sl(),delete_op()    elif user_input == '3':      sl(),alter_op()    elif user_input == '4':      sl(),search_op()    elif user_input == '5':      sl(),print_op()    elif user_input == '6':      print('/n system quit.')      break    else:      sl(),print('/n plz enter correct number.')def select_function():  '''顯示系統功能'''  print("/n1.add mbr/n2.delete mbr/n3.change info/         /n4.check info/n5.prt/'l info/n6.exit sys/n")  sl()def store_new_info():  a = input('enter name: ').title()  b = input('enter age: ').title()  c = input('enter gender: ').title()  return a,b,cdef add_op():  '''添加新人'''  name,age,gender = store_new_info()  for i in all_info:    if name == i['name'].strip():      print(f'{name} is existed.retry plz')      break  else:    dict_inf = {}    dict_inf['name']   = name    dict_inf['age']    = age    dict_inf['gender'] = gender    all_info.append(dict_inf)    print(f'{name} added.')def delete_op():  '''刪除已有人物'''  del_nam = input('type the name to del:').title()  for i in all_info:    if del_nam == i['name'].strip():      all_info.remove(i)      sl(),print(f'{del_nam} is removed.')  else:    sl(),print(f'no {del_nam} in list now.')def alter_op():  '''修改現有人物信息'''  alter_nam = input('type the name who needs change: ').title()  for i in all_info:    if alter_nam != i['name'].strip():      continue    else:      i['age'] = input('type new age: ')      i['gender'] = input('type new gender: ')      break  else:    sl(),print(f'no {alter_nam} in list.')def search_op():  '''查找某個人物的信息'''  se_num = input('type name to search: ').strip().title()  for i in all_info:    if se_num != i['name'].strip():      continue    else:      sl(),print(i)      breakdef modify_op():  '''統一name首字母大寫且左對齊'''  b = 0  for i in range(len(all_info)):     a = len(all_info[i].get('name').strip())    b = max(a,b)  for i in range(len(all_info)):    all_info[i]['name']   = all_info[i].get('name').strip().title().ljust(b,' ')    all_info[i]['gender'] = all_info[i].get('gender').strip().title().ljust(6,' ')def print_op():  '''輸出所有人物的全部信息'''  modify_op()  for i in all_info:    print('/n',i,'/n')def sl():    time.sleep(0.5)all_info = []main()

简单解释一下:

  • 由于python中没有switch case语句所以这里用if elif代替,实现按键选择功能的需求
  • 信息的保存是用列表和字典嵌套实现,即形如 [{},{},{}] 的格式,每个字典里面保存一个人员的信息。
  • 函数modify_op()是为了美化显示,实现把所有成员的名字取等长,首字母大写且左对齐输出。例如norn和scotti,后者6个字符前者4个字符,这样就会用空格把norn补为6个字符。函数中大量出现的strip()和title()就是为此才使用的
  • 用了一些代码来避免bug,例如排除大小写的影响(vert和VERT),排除重名的可能性,排除选择程序功能时输入1-6之外的字符导致报错,排除各种的死循环等。
  • 由于程序没有保存信息到文本文件的功能,所以退出程序之后所有的信息都会消失。因为我是用的是谷歌的云ide,不知道保存文件路径怎么写(/gdrive/file.txt?)。so啥时候自己的电脑能拿来用了就会加上的

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持51zixue.net。


Python实现多任务版的udp聊天器
pandas实现按行选择的示例代码
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。