亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

python實現一個函數版名片管理系統的案例分析

發布時間:2021-04-06 10:52:05 來源:億速云 閱讀:134 作者:小新 欄目:開發技術

這篇文章主要介紹python實現一個函數版名片管理系統的案例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

本案例使用了自定義函數以及對字符串的常見操作、判斷語句和循環語句等知識。

要求

必須使用自定義函數,完成對程序的模塊化。

名片信息至少包括:姓名、電話、住址。

必須完成的功能:增、刪、改、查、退出。

分析

首先呢,我們應該先定義一個全局變量,用于存儲所有的名片信息。

cards = [{
  "name": "張三",
  "phone": "10086",
  "address": "山西省",
}, {
  "name": "李四",
  "phone": "10010",
  "address": "北京市",
}] # 定義一個的列表用于存放名片信息,默認里面有張三和李四的信息,方便以后調試用。

完成增加,刪除,修改,查找等相關操作的函數(cards是可變類型的全局變量,故在函數中不用加global也可調用),注意:如定義變量 a: int = 0, int只是單純的提示開發人員它的類型是int,方便調試。

def print_menu():
  """"完成打印功能菜單"""
  print("=" * 20)
  print("  名片管理系統")
  print(" 1:添加一個名片")
  print(" 2:刪除一個名片")
  print(" 3:修改一個名片")
  print(" 4:查詢一個名片")
  print(" 5:顯示所有的名片")
  print(" 6:退出")
  print("=" * 20)


def add_card():
  """完成添加一個名片的功能"""
  new_infor: dict = {
    "name": input("請輸入一個名字:"), 
    "phone": input("請輸入一個電話:"), 
    "address": input("請輸入一個地址:")
  }
  cards.append(new_infor)
  print("添加成功!")


def delete_card():
  del_name = input("請輸入要刪除的名字:")
  for person in cards:
    if del_name == person["name"]:
      cards.remove(person)
      print("刪除成功!")
      break
  else:
    print("找不到要刪除的人!")


def update_card():
  name: str = input("請輸入要修改的名字(只能通過名字來修改電話和住址):")
  for person in cards:
    if name == person["name"]:
      phone = input("請輸入新的的電話(直接回車則不修改):")
      address = input("請輸入新的的地址(直接回車則不修改):")
      if phone:
        person["phone"] = phone
      if address:
        person["address"] = address
      print("修改成功")
      break
  else:
    print("找不到要修改的人!")


def find_card():
  """用來查詢一個名片"""

  find_name: str = input("請輸入要查詢的名字(支持模糊查詢):")
  flag: int = 1
  for temp in cards:
    # 遍歷名片中的所有名字,判斷要查找的名字是否存在,不存在則打印查無此人
    if temp["name"].find(find_name) != -1:
      print("%s\t%s\t%s" % (temp["name"], temp["phone"], temp["address"]))
      flag = 0
  if flag:
    print("查無此人")


def show_all():
  print("姓名\t電話\t住址")
  for temp in cards:
    print("%s\t%s\t%s" % (temp["name"], temp["phone"], temp["address"]))

最后完成主函數的功能,并調用主函數

def main():
  """"完成對整個程序的控制"""
  # 打印功能提示
  print_menu()
  while True:
    # 獲取用戶的選擇
    num: str = input("請輸入功能序號:")
    # 判斷輸入的是否為數字
    if not num.isdigit():
      print("請輸入數字!")
      continue
    # 轉換成數字類型
    num: int = int(num)
    # 增
    if num == 1:
      add_card()
    # 刪
    elif num == 2:
      delete_card()
    # 改
    elif num == 3:
      update_card()
    # 查
    elif num == 4:
      find_card()
    elif num == 5:
      show_all()
    elif num == 6:
      break
    else:
      print("請按號輸入!")
    print()

# 調用主函數
if __name__ == '__main__':
  main()

以上是“python實現一個函數版名片管理系統的案例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

黑龙江省| 响水县| 凤山市| 宾阳县| 水城县| 伊吾县| 古浪县| 赤城县| 讷河市| 克什克腾旗| 青岛市| 阳曲县| 加查县| 溧水县| 赞皇县| 旺苍县| 闵行区| 吴川市| 柞水县| 库伦旗| 临邑县| 城口县| 铜川市| 湾仔区| 准格尔旗| 青阳县| 绥德县| 同仁县| 阜康市| 金山区| 土默特左旗| 广昌县| 镇原县| 金塔县| 灵宝市| 六安市| 大同县| 新竹市| 横山县| 巫山县| 介休市|