中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python函數怎么實現學員管理系統

發布時間:2021-07-21 16:37:27 來源:億速云 閱讀:147 作者:chen 欄目:開發技術

本篇內容主要講解“Python函數怎么實現學員管理系統”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python函數怎么實現學員管理系統”吧!

本文實例為大家分享了Python函數實現學員管理系統的具體代碼,供大家參考,具體內容如下

這個是一個簡單的管理程序

輸入姓名,年齡,性別(也可以添加其他類別例如性取向),然后以列表的形式保存(默認為空列表)。功能如下:

Python函數怎么實現學員管理系統

  • 按1添加成員

  • 按2刪除成員

  • 按3修改成員信息(目前不包括姓名但是可以添加)

  • 按4檢索并打印某個成員的全部信息

  • 按5打印全部成員的信息

  • 按6退出程序

大概就是這樣子。下面是代碼:

import time

def 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,c

def 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)
      break

def 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啥時候自己的電腦能拿來用了就會加上的

到此,相信大家對“Python函數怎么實現學員管理系統”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇义县| 崇仁县| 德惠市| 揭西县| 类乌齐县| 昌吉市| 嘉禾县| 英德市| 阿城市| 五台县| 同仁县| 义马市| 彭泽县| 崇信县| 上栗县| 濮阳县| 阳江市| 金塔县| 祁连县| 阳高县| 闵行区| 漳浦县| 云梦县| 新郑市| 宜州市| 郸城县| 姜堰市| 宝清县| 南投市| 天柱县| 安乡县| 新昌县| 航空| 仁怀市| 开封市| 繁峙县| 宜宾市| 桃源县| 新和县| 禹城市| 凤庆县|