欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python函數(shù)實(shí)現(xiàn)學(xué)員管理系統(tǒng)

 更新時(shí)間:2021年07月21日 14:55:41   作者:bluenessdrops  
這篇文章主要為大家詳細(xì)介紹了Python函數(shù)實(shí)現(xiàn)學(xué)員管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Python函數(shù)實(shí)現(xiàn)學(xué)員管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

這個(gè)是一個(gè)簡(jiǎn)單的管理程序

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

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

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

import time

def main():
  '''主函數(shù)'''
  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():
  '''顯示系統(tǒng)功能'''
  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():
  '''修改現(xiàn)有人物信息'''
  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():
  '''查找某個(gè)人物的信息'''
  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():
  '''統(tǒng)一name首字母大寫且左對(duì)齊'''
  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()

簡(jiǎn)單解釋一下:

  • 由于python中沒有switch case語句所以這里用if elif代替,實(shí)現(xiàn)按鍵選擇功能的需求
  • 信息的保存是用列表和字典嵌套實(shí)現(xiàn),即形如 [{},{},{}] 的格式,每個(gè)字典里面保存一個(gè)人員的信息。
  • 函數(shù)modify_op()是為了美化顯示,實(shí)現(xiàn)把所有成員的名字取等長(zhǎng),首字母大寫且左對(duì)齊輸出。例如norn和scotti,后者6個(gè)字符前者4個(gè)字符,這樣就會(huì)用空格把norn補(bǔ)為6個(gè)字符。函數(shù)中大量出現(xiàn)的strip()和title()就是為此才使用的
  • 用了一些代碼來避免bug,例如排除大小寫的影響(vert和VERT),排除重名的可能性,排除選擇程序功能時(shí)輸入1-6之外的字符導(dǎo)致報(bào)錯(cuò),排除各種的死循環(huán)等。
  • 由于程序沒有保存信息到文本文件的功能,所以退出程序之后所有的信息都會(huì)消失。因?yàn)槲沂怯玫氖枪雀璧脑苅de,不知道保存文件路徑怎么寫(/gdrive/file.txt?)。so啥時(shí)候自己的電腦能拿來用了就會(huì)加上的

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pyqt5-tools安裝失敗的詳細(xì)處理方法

    pyqt5-tools安裝失敗的詳細(xì)處理方法

    最近在工作中遇到一個(gè)問題,python?pyqt5在安裝的時(shí)候居然提示失敗了,無奈只能找解決的辦法,這篇文章主要給大家介紹了關(guān)于pyqt5-tools安裝失敗的詳細(xì)處理方法,需要的朋友可以參考下
    2022-05-05
  • 詳解Python中*args和**kwargs的使用

    詳解Python中*args和**kwargs的使用

    本文我們將通過示例了解Python中*args和?**kwargs的使用方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python 實(shí)現(xiàn)Image和Ndarray互相轉(zhuǎn)換

    Python 實(shí)現(xiàn)Image和Ndarray互相轉(zhuǎn)換

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)Image和Ndarray互相轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 淺析pandas隨機(jī)排列與隨機(jī)抽樣

    淺析pandas隨機(jī)排列與隨機(jī)抽樣

    這篇文章主要介紹了pandas隨機(jī)排列與隨機(jī)抽樣的相關(guān)資料,幫助大家更好的利用pandas進(jìn)行數(shù)據(jù)分析,感興趣的朋友可以了解下
    2021-01-01
  • 玩轉(zhuǎn)串口通信:利用pyserial庫,Python打開無限可能

    玩轉(zhuǎn)串口通信:利用pyserial庫,Python打開無限可能

    想要學(xué)習(xí)如何使用pyserial庫實(shí)現(xiàn)串口通信嗎?這篇指南將帶你一步步了解Python中的串口通信,無論是控制硬件設(shè)備還是與外部設(shè)備進(jìn)行數(shù)據(jù)交換,pyserial庫都能為你提供便捷的解決方案,快來跟著我們的指南,輕松掌握串口通信的技巧吧!
    2023-11-11
  • Python 基礎(chǔ)知識(shí)之字符串處理

    Python 基礎(chǔ)知識(shí)之字符串處理

    這篇文章主要介紹了Python 基礎(chǔ)知識(shí)之字符串處理的相關(guān)資料,這里對(duì)字符串的判斷,搜索匹配及字符串變換進(jìn)行了詳解,需要的朋友可以參考下
    2017-01-01
  • Python使用latexify模塊實(shí)現(xiàn)將代碼為數(shù)學(xué)公式

    Python使用latexify模塊實(shí)現(xiàn)將代碼為數(shù)學(xué)公式

    latexify 是一個(gè)輕量級(jí)的 Python 模塊,可以將 Python 代碼轉(zhuǎn)換為 LaTeX 格式的數(shù)學(xué)表達(dá)式,這篇文章就來和大家探索一下如何使用latexify模塊實(shí)現(xiàn)將代碼為數(shù)學(xué)公式吧
    2023-12-12
  • 使用keras2.0 將Merge層改為函數(shù)式

    使用keras2.0 將Merge層改為函數(shù)式

    這篇文章主要介紹了使用keras2.0 將Merge層改為函數(shù)式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python基于SMTP發(fā)送QQ郵件

    python基于SMTP發(fā)送QQ郵件

    這篇文章主要為大家詳細(xì)介紹了python基于SMTP發(fā)送QQ郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Python實(shí)現(xiàn)繪制多角星實(shí)例

    Python實(shí)現(xiàn)繪制多角星實(shí)例

    這篇文章要給大家分享Python實(shí)現(xiàn)繪制多角星的實(shí)例,在具備一定的Python編程基礎(chǔ)以后,我們可以結(jié)合for循環(huán)進(jìn)行多角星的編寫,只要簡(jiǎn)單的幾次循環(huán),即可以極大的解決重復(fù)編寫相同代碼方面的問題,下面小編將以三角星,五角星為例,進(jìn)而引入如何繪制多角星,需要的朋友可以參考一下
    2021-11-11

最新評(píng)論