最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)一個(gè)函數(shù)版的名片管理系統(tǒng)過(guò)程解析

 更新時(shí)間:2019年08月27日 14:52:37   作者:三國(guó)小夢(mèng)  
這篇文章主要介紹了python實(shí)現(xiàn)一個(gè)函數(shù)版的名片管理系統(tǒng)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

本案例使用了自定義函數(shù)以及對(duì)字符串的常見(jiàn)操作、判斷語(yǔ)句和循環(huán)語(yǔ)句等知識(shí)。

要求

必須使用自定義函數(shù),完成對(duì)程序的模塊化。

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

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

分析

首先呢,我們應(yīng)該先定義一個(gè)全局變量,用于存儲(chǔ)所有的名片信息。

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

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

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


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


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


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


def find_card():
  """用來(lái)查詢一個(gè)名片"""

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


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

最后完成主函數(shù)的功能,并調(diào)用主函數(shù)

def main():
  """"完成對(duì)整個(gè)程序的控制"""
  # 打印功能提示
  print_menu()
  while True:
    # 獲取用戶的選擇
    num: str = input("請(qǐng)輸入功能序號(hào):")
    # 判斷輸入的是否為數(shù)字
    if not num.isdigit():
      print("請(qǐng)輸入數(shù)字!")
      continue
    # 轉(zhuǎn)換成數(shù)字類(lèi)型
    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("請(qǐng)按號(hào)輸入!")
    print()

# 調(diào)用主函數(shù)
if __name__ == '__main__':
  main()

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

相關(guān)文章

  • Python中文件路徑的拼接的幾種方法實(shí)例

    Python中文件路徑的拼接的幾種方法實(shí)例

    在Python開(kāi)發(fā)中,文件路徑的拼接是一個(gè)常見(jiàn)而且重要的任務(wù),正確的路徑拼接可以確保程序在不同平臺(tái)上都能正常運(yùn)行,本文將介紹Python中文件路徑拼接的幾種方式,包括使用os.path.join、os.path.join、pathlib庫(kù)以及os.path.join
    2023-12-12
  • python操作excel讓工作自動(dòng)化

    python操作excel讓工作自動(dòng)化

    這篇文章主要為大家詳細(xì)介紹了python如何操作excel讓工作自動(dòng)化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 利用pandas合并多個(gè)excel的方法示例

    利用pandas合并多個(gè)excel的方法示例

    這篇文章主要介紹了利用pandas合并多個(gè)excel的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python筆記(2)

    python筆記(2)

    python筆記,參考上一篇文章大家繼續(xù)
    2012-10-10
  • Python中super的用法實(shí)例

    Python中super的用法實(shí)例

    這篇文章主要介紹了Python中super的用法實(shí)例,本文對(duì)比了普通繼承和super繼承的相關(guān)內(nèi)容,從運(yùn)行結(jié)果上看,普通繼承和super繼承是一樣的,但是其實(shí)它們的內(nèi)部運(yùn)行機(jī)制不一樣,這一點(diǎn)在多重繼承時(shí)體現(xiàn)得很明顯,需要的朋友可以參考下
    2015-05-05
  • 實(shí)例講解Python設(shè)計(jì)模式編程之工廠方法模式的使用

    實(shí)例講解Python設(shè)計(jì)模式編程之工廠方法模式的使用

    這篇文章主要介紹了Python設(shè)計(jì)模式編程之工廠方法模式的運(yùn)用實(shí)例,文中也對(duì)Factory Method模式中涉及到的角色作出了解析,需要的朋友可以參考下
    2016-03-03
  • python創(chuàng)建和使用字典實(shí)例詳解

    python創(chuàng)建和使用字典實(shí)例詳解

    字典是python中唯一內(nèi)建的映射類(lèi)型。字典中的值并沒(méi)有特殊的順序,但是都存儲(chǔ)在一個(gè)特定的鍵(key)里。
    2013-11-11
  • 一篇文章帶你了解python標(biāo)準(zhǔn)庫(kù)--math模塊

    一篇文章帶你了解python標(biāo)準(zhǔn)庫(kù)--math模塊

    這篇文章主要介紹了Python的math模塊中的常用數(shù)學(xué)函數(shù)整理,同時(shí)對(duì)運(yùn)算符的運(yùn)算優(yōu)先級(jí)作了一個(gè)羅列,需要的朋友可以參考下,希望能給你帶來(lái)幫助
    2021-08-08
  • PyCharm如何設(shè)置新建文件默認(rèn)為L(zhǎng)F換行符

    PyCharm如何設(shè)置新建文件默認(rèn)為L(zhǎng)F換行符

    這篇文章主要介紹了PyCharm如何設(shè)置新建文件默認(rèn)為L(zhǎng)F換行符問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 解決python ogr shp字段寫(xiě)入中文亂碼的問(wèn)題

    解決python ogr shp字段寫(xiě)入中文亂碼的問(wèn)題

    今天小編就為大家分享一篇解決python ogr shp字段寫(xiě)入中文亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論

通辽市| 来安县| 思茅市| 大兴区| 梁平县| 临海市| 确山县| 贡嘎县| 邓州市| 雅安市| 武强县| 上犹县| 美姑县| 麻江县| 搜索| 化德县| 泰和县| 屏南县| 龙口市| 华容县| 哈尔滨市| 平湖市| 大厂| 昆明市| 泰安市| 桐柏县| 常山县| 新平| 渭南市| 乌拉特后旗| 多伦县| 舟山市| 襄城县| 云梦县| 嘉善县| 蒙山县| 开平市| 定远县| 商城县| 聂拉木县| 内黄县|