日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 名片管理系统 200313

發布時間:2023/12/29 python 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 名片管理系统 200313 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 新的項目環境
  • 完成項目的架構
    • 程序的入口
    • 流程的安排
  • 詳細的功能設計 功能菜單設計
  • 功能:用戶輸入
  • 進入功能分支 根據用戶的選擇
  • 數據存儲結構的分析
  • 功能實施:新增名片
  • 功能實施:查詢所有名片
  • 功能實現:搜索名片
  • 名片搜索出來后 相關操作
  • 功能:修改名片
  • 功能調優:修改名片 不輸入內容不修改
  • 功能實現:刪除數據
  • 封裝二維碼的生成函數
  • 功能:批量生成二維碼
  • 文件的讀寫操作

新的項目環境

  • 新建項目
  • 新建文件
  • 檢察解釋器
  • 可以開始寫代碼了

完成項目的架構

程序的入口

  • 寫一個啟動函數
  • 執行啟動函數

流程的安排

  • 歡迎界面
  • 功能菜單
  • 用戶選擇功能
  • 對應的功能運行
  • 重新再一次顯示功能菜單
  • 重新再一次用戶選擇功能

是否繼續執行程序要看用戶的選擇
如果用戶輸入q,就讓程序結束

def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""print('功能菜單占位函數')def user_choice():"""用戶選擇"""choice = input('請輸入您的選擇:')return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""if choice_num == "q":print('用戶輸入的是退出指令,程序結束')exit()print('運行{}功能'.format(choice_num))def start():"""程序的入口:return:"""while True:# - 歡迎界面show_welcome()# - 功能菜單show_menu()# - 用戶選擇功能choice = user_choice()print('用戶輸入的是{}'.format(choice))# - 對應的功能運行run_func(choice)# 退出無限循環,兩種方法# breakprint('循環后面的內容....')start()

詳細的功能設計 功能菜單設計

  • 1 新增名片
  • 2 查詢所有名片
  • 3 搜索名片
  • q 退出程序

打印功能菜單的實現

# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","q": "退出程序" }def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key,val))def user_choice():"""用戶選擇"""choice = input('請輸入您的選擇:')return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""if choice_num == "q":print('用戶輸入的是退出指令,程序結束')exit()print('運行{}功能'.format(choice_num))def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()print('用戶輸入的是{}'.format(choice))# - 4對應的功能運行run_func(choice)# 分界符號print('\n\n\n')start()

功能:用戶輸入

  • 接收用戶的輸入
  • 驗證用戶的輸入是否合法
  • 同時給出一些提示
  • 非法輸入會再給輸入的機會
# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","q": "退出程序" }def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key,val))def user_choice():"""用戶選擇"""# - 接收用戶的輸入choice = input('請輸入您的選擇:')# - 驗證用戶的輸入是否合法# 利用成員運算符進行驗證if choice not in func_menu:print('非法輸入,請重新再試。。。。。。。。。。。。')choice = "c" # 數據的校正,把數據修改為我們功能中有的指令return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""print('運行{}功能'.format(choice_num))def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()if choice == "q":breakif choice == "c":continue# - 4對應的功能運行run_func(choice)# 分界符號print('\n\n\n')start()

進入功能分支 根據用戶的選擇

  • 根據用戶的選擇不同會啟動不同的函數
  • 通過分支的方式進行指向
# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","q": "退出程序" }def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key, val))def add_card():"""新增名片功能"""print('這是添加名片的功能!!!!!!!!!!')def show_cards():print('顯示所有名片的功能!!!!!!!!!!')def search_card():print('搜索名片的功能!!!!')def user_choice():"""用戶選擇"""# - 接收用戶的輸入choice = input('請輸入您的選擇:')# - 驗證用戶的輸入是否合法# 利用成員運算符進行驗證if choice not in func_menu:print('非法輸入,請重新再試。。。。。。。。。。。。')choice = "c" # 數據的校正,把數據修改為我們功能中有的指令return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""print('運行{}功能'.format(choice_num))if choice_num == "1": # 新增名片分支add_card()elif choice_num == "2": # 顯示所有名片的分支show_cards()elif choice_num == "3": # 搜索名片的分支search_card()def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()if choice == "q":breakif choice == "c":continue# - 4對應的功能運行run_func(choice)# 分界符號print('\n\n')start()

數據存儲結構的分析

思考 新增的名片放在哪里

名片管理系統會放多個人的信息

它應該是一個數據容器

思考,學到現在的數據空器有哪些

  • 列表
  • 元組
  • 字典

使用列表作為數據容器的理由

數據往列表中扔的時候,不用給數據想鍵的名字

需要存入列表中,直接通過 列表.append(數據)

決定 使用列表來存我們的數據

功能實施:新增名片

  • 定義一個全局的列表,可被每一個函數所有使用
  • 每一次新增了用戶的信息以后,把信息添加到列表中

效果圖

代碼

# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","q": "退出程序" }# 所有的數據列表,保存所有的名片信息 card_list = []def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key, val))def add_card():"""新增名片功能"""# 定義了一個用戶名片的空字典card_dict = {}# 接收用戶的輸入name = input('請輸入姓名:')tel = input('請輸入電話:')email = input('請輸入郵箱:')# 空字典中添加內容card_dict['name'] = namecard_dict['tel'] = telcard_dict['email'] = email# 所有名片的列表添加名片字典card_list.append(card_dict)def show_cards():print('顯示所有名片的功能!!!!!!!!!!')def search_card():print('搜索名片的功能!!!!')def user_choice():"""用戶選擇"""# - 接收用戶的輸入choice = input('請輸入您的選擇:')# - 驗證用戶的輸入是否合法# 利用成員運算符進行驗證if choice not in func_menu:print('非法輸入,請重新再試。。。。。。。。。。。。')choice = "c" # 數據的校正,把數據修改為我們功能中有的指令return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""print('運行{}功能'.format(choice_num))if choice_num == "1": # 新增名片分支add_card()elif choice_num == "2": # 顯示所有名片的分支show_cards()elif choice_num == "3": # 搜索名片的分支search_card()def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()if choice == "q":breakif choice == "c":continue# - 4對應的功能運行run_func(choice)# 分界符號print('\n\n')start()

功能實施:查詢所有名片

  • 從存儲的列表中遍歷取出每一個字典
  • 格式化輸入每一個字典中的內容
# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","q": "退出程序" }# 所有的數據列表,保存所有的名片信息 card_list = [{"name":"張三", "tel":"15977777777","email":"777777@qq.com"} ]def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key, val))def add_card():"""新增名片功能"""# 定義了一個用戶名片的空字典card_dict = {}# 接收用戶的輸入name = input('請輸入姓名:')tel = input('請輸入電話:')email = input('請輸入郵箱:')# 空字典中添加內容card_dict['name'] = namecard_dict['tel'] = telcard_dict['email'] = email# 所有名片的列表添加名片字典card_list.append(card_dict)def show_cards():# print('顯示所有名片的功能!!!!!!!!!!')# 打印表頭print('姓名\t電話\t\t郵箱\t')# print(card_list) # [{},{}]# 遍歷全部名片列表,依次獲取每一個字典for card in card_list: # card是代表了一個字典name = card['name']tel = card['tel']email = card['email']# print(name,tel,email)print('{}\t{}\t{}'.format(name,tel,email))def search_card():print('搜索名片的功能!!!!')def user_choice():"""用戶選擇"""# - 接收用戶的輸入choice = input('請輸入您的選擇:')# - 驗證用戶的輸入是否合法# 利用成員運算符進行驗證if choice not in func_menu:print('非法輸入,請重新再試。。。。。。。。。。。。')choice = "c" # 數據的校正,把數據修改為我們功能中有的指令return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""print('運行{}功能'.format(choice_num))if choice_num == "1": # 新增名片分支add_card()elif choice_num == "2": # 顯示所有名片的分支show_cards()elif choice_num == "3": # 搜索名片的分支search_card()def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()if choice == "q":breakif choice == "c":continue# - 4對應的功能運行run_func(choice)# 分界符號print('\n\n')start()

功能實現:搜索名片

  • 用戶要輸入一個搜索詞
  • 依次遍歷出名片列表中的所有字典
  • 比對一下字典中的name鍵的值,看值里面有沒有搜索詞
  • 如果有,就把這個字典作業結果展現出來

效果:
如果搜索的結果有多個,我們只取第一個(因為簡單,目標是不弄太復雜免得更暈)

代碼:

# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","q": "退出程序" }# 所有的數據列表,保存所有的名片信息 card_list = [{"name":"張三", "tel":"15977777777","email":"777777@qq.com"} ]def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key, val))def add_card():"""新增名片功能"""# 定義了一個用戶名片的空字典card_dict = {}# 接收用戶的輸入name = input('請輸入姓名:')tel = input('請輸入電話:')email = input('請輸入郵箱:')# 空字典中添加內容card_dict['name'] = namecard_dict['tel'] = telcard_dict['email'] = email# 所有名片的列表添加名片字典card_list.append(card_dict)def show_cards():# print('顯示所有名片的功能!!!!!!!!!!')# 打印表頭print('姓名\t電話\t\t郵箱\t')# print(card_list) # [{},{}]# 遍歷全部名片列表,依次獲取每一個字典for card in card_list: # card是代表了一個字典name = card['name']tel = card['tel']email = card['email']# print(name,tel,email)print('{}\t{}\t{}'.format(name,tel,email))def show_search_result(card):print('搜索結果:******************')print('姓名\t電話\t\t郵箱\t')print('{}\t{}\t{}'.format(card['name'], card['tel'], card['email']))def search_card():"""名片搜索"""# - 用戶要輸入一個搜索詞key = input('請輸入要搜索的詞(從姓名里查):') # "張"# - 依次遍歷出名片列表中的所有字典for card in card_list: # [{"name":???},{}]# card 就是一個字典{"name":???}# 獲取姓名name = card["name"] # ”張三"# 如何判斷"張" 在不在 "張三" 字符串中?if key in name:# 那么,這一輪遍歷出來的字典就是要找的字典# print(card)# 顯示這個結果show_search_result(card)breakelse:print('查找不成功,請重新再試')def user_choice():"""用戶選擇"""# - 接收用戶的輸入choice = input('請輸入您的選擇:')# - 驗證用戶的輸入是否合法# 利用成員運算符進行驗證if choice not in func_menu:print('非法輸入,請重新再試。。。。。。。。。。。。')choice = "c" # 數據的校正,把數據修改為我們功能中有的指令return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""print('運行{}功能'.format(choice_num))if choice_num == "1": # 新增名片分支add_card()elif choice_num == "2": # 顯示所有名片的分支show_cards()elif choice_num == "3": # 搜索名片的分支search_card()def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()if choice == "q":breakif choice == "c":continue# - 4對應的功能運行run_func(choice)# 分界符號print('\n\n')start()

名片搜索出來后 相關操作

  • 生成二維碼
  • 從數據列表中刪除
  • 修改名片的數據

寫一個函數專門的負責搜索出來的名片的結果處理

deal_card(card)

deal_card函數它的職能

  • 顯示功能菜單
  • 讓用戶選擇
  • 執行相關的功能函數

布局代碼

# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","q": "退出程序" }# 搜索結果的處理菜單 deal_menu = {"m":"修改名片","d":"刪除名片","c":"生成二維碼", }# 所有的數據列表,保存所有的名片信息 card_list = [{"name":"張三", "tel":"15977777777","email":"777777@qq.com"} ]def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key, val))def add_card():"""新增名片功能"""# 定義了一個用戶名片的空字典card_dict = {}# 接收用戶的輸入name = input('請輸入姓名:')tel = input('請輸入電話:')email = input('請輸入郵箱:')# 空字典中添加內容card_dict['name'] = namecard_dict['tel'] = telcard_dict['email'] = email# 所有名片的列表添加名片字典card_list.append(card_dict)def show_cards():# print('顯示所有名片的功能!!!!!!!!!!')# 打印表頭print('姓名\t電話\t\t郵箱\t')# print(card_list) # [{},{}]# 遍歷全部名片列表,依次獲取每一個字典for card in card_list: # card是代表了一個字典name = card['name']tel = card['tel']email = card['email']# print(name,tel,email)print('{}\t{}\t{}'.format(name,tel,email))def show_search_result(card):print('搜索結果:******************')print('姓名\t電話\t\t郵箱\t')print('{}\t{}\t{}'.format(card['name'], card['tel'], card['email']))def show_deal_menu():"""顯示處理的菜單"""for key,val in deal_menu.items():print("{}----{}".format(key,val))def deal_choice():"""用戶選擇想要的操作"""# 接收用戶的輸入choice = input('請選擇對該名片的操作:')# 驗證用戶的輸入if choice not in deal_menu:choice = 'error'return choicedef modify_card(card):print('修改名片', card)def delete_card(card):print('刪除名片', card)def create_png(card):print('生成二維碼', card)def run_deal_func(choice, card):"""運行用戶的選擇"""if choice == "error":print('不存在的操作指令')returnelif choice == "m":modify_card(card)elif choice == "d":delete_card(card)elif choice == "c":create_png(card)def deal_card(card):"""處理搜索成功的名片"""# - 顯示功能菜單show_deal_menu()# - 讓用戶選擇choice = deal_choice()# - 執行相關的功能函數run_deal_func(choice, card)def search_card():"""名片搜索"""# - 用戶要輸入一個搜索詞key = input('請輸入要搜索的詞(從姓名里查):') # "張"# - 依次遍歷出名片列表中的所有字典for card in card_list: # [{"name":???},{}]# card 就是一個字典{"name":???}# 獲取姓名name = card["name"] # ”張三"# 如何判斷"張" 在不在 "張三" 字符串中?if key in name:# 顯示這個結果show_search_result(card)# 處理這個結果deal_card(card)breakelse:print('查找不成功,請重新再試')def user_choice():"""用戶選擇"""# - 接收用戶的輸入choice = input('請輸入您的選擇:')# - 驗證用戶的輸入是否合法# 利用成員運算符進行驗證if choice not in func_menu:print('非法輸入,請重新再試。。。。。。。。。。。。')choice = "c" # 數據的校正,把數據修改為我們功能中有的指令return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""print('運行{}功能'.format(choice_num))if choice_num == "1": # 新增名片分支add_card()elif choice_num == "2": # 顯示所有名片的分支show_cards()elif choice_num == "3": # 搜索名片的分支search_card()def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()if choice == "q":breakif choice == "c":continue# - 4對應的功能運行run_func(choice)# 分界符號print('\n\n')start()

功能:修改名片

思路分析

我們有什么?

有一個名片字典

我們要什么?

修改它

修改哪些?

所有的數據都可以讓用戶修改

如何讓用戶修改?

input函數接收內容

操作步驟

  • 接收新的數據:姓名,電話,郵箱
  • 把原字典的對應數據進行修改
  • 功能完成,進行檢察

代碼

# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","q": "退出程序" }# 搜索結果的處理菜單 deal_menu = {"m":"修改名片","d":"刪除名片","c":"生成二維碼", }# 所有的數據列表,保存所有的名片信息 card_list = [{"name":"張三", "tel":"15977777777","email":"777777@qq.com"} ]def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key, val))def add_card():"""新增名片功能"""# 定義了一個用戶名片的空字典card_dict = {}# 接收用戶的輸入name = input('請輸入姓名:')tel = input('請輸入電話:')email = input('請輸入郵箱:')# 空字典中添加內容card_dict['name'] = namecard_dict['tel'] = telcard_dict['email'] = email# 所有名片的列表添加名片字典card_list.append(card_dict)def show_cards():# print('顯示所有名片的功能!!!!!!!!!!')# 打印表頭print('姓名\t電話\t\t郵箱\t')# print(card_list) # [{},{}]# 遍歷全部名片列表,依次獲取每一個字典for card in card_list: # card是代表了一個字典name = card['name']tel = card['tel']email = card['email']# print(name,tel,email)print('{}\t{}\t{}'.format(name,tel,email))def show_search_result(card):print('搜索結果:******************')print('姓名\t電話\t\t郵箱\t')print('{}\t{}\t{}'.format(card['name'], card['tel'], card['email']))def show_deal_menu():"""顯示處理的菜單"""for key,val in deal_menu.items():print("{}----{}".format(key,val))def deal_choice():"""用戶選擇想要的操作"""# 接收用戶的輸入choice = input('請選擇對該名片的操作:')# 驗證用戶的輸入if choice not in deal_menu:choice = 'error'return choicedef modify_card(card):"""修改名片,本質就是修改字鍵中鍵所對應的值:param card::return:"""# - 接收新的數據:姓名,電話,郵箱new_name = input('原數據:{},要修改為:'.format(card["name"]))new_tel = input('原數據:{},要修改為:'.format(card['tel']))new_email = input('原數據:{},要修改為:'.format(card['email']))# - 把原字典的對應數據進行修改card['name'] = new_namecard['tel'] = new_telcard['email'] = new_emaildef delete_card(card):print('刪除名片', card)def create_png(card):print('生成二維碼', card)def run_deal_func(choice, card):"""運行用戶的選擇"""if choice == "error":print('不存在的操作指令')returnelif choice == "m":modify_card(card)elif choice == "d":delete_card(card)elif choice == "c":create_png(card)def deal_card(card):"""處理搜索成功的名片"""# - 顯示功能菜單show_deal_menu()# - 讓用戶選擇choice = deal_choice()# - 執行相關的功能函數run_deal_func(choice, card)def search_card():"""名片搜索"""# - 用戶要輸入一個搜索詞key = input('請輸入要搜索的詞(從姓名里查):') # "張"# - 依次遍歷出名片列表中的所有字典for card in card_list: # [{"name":???},{}]# card 就是一個字典{"name":???}# 獲取姓名name = card["name"] # ”張三"# 如何判斷"張" 在不在 "張三" 字符串中?if key in name:# 顯示這個結果show_search_result(card)# 處理這個結果deal_card(card)breakelse:print('查找不成功,請重新再試')def user_choice():"""用戶選擇"""# - 接收用戶的輸入choice = input('請輸入您的選擇:')# - 驗證用戶的輸入是否合法# 利用成員運算符進行驗證if choice not in func_menu:print('非法輸入,請重新再試。。。。。。。。。。。。')choice = "c" # 數據的校正,把數據修改為我們功能中有的指令return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""print('運行{}功能'.format(choice_num))if choice_num == "1": # 新增名片分支add_card()elif choice_num == "2": # 顯示所有名片的分支show_cards()elif choice_num == "3": # 搜索名片的分支search_card()def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()if choice == "q":breakif choice == "c":continue# - 4對應的功能運行run_func(choice)# 分界符號print('\n\n')start()

功能調優:修改名片 不輸入內容不修改

需求 用戶如果不輸入內容,那么就不修改

驗證辦法

驗證長度,如果長度為0 代表用戶是空輸入

In [104]: m.strip() Out[104]: ''In [105]: len(m.strip()) Out[105]: 0In [106]: m Out[106]: ' '

實現想法

  • 對接收到的數據進行去空白操作
  • 對去空白操作了的內容進行長度驗證,如果長度為0那么就是空數據

函數的需求

需要一個函數

幫我驗證上面的功能

如果用戶輸入的是空的,那么返回一個原來的數據

如果用戶輸入的是非空的,那么就返回用戶輸入的值

實現代碼

# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","q": "退出程序" }# 搜索結果的處理菜單 deal_menu = {"m": "修改名片","d": "刪除名片","c": "生成二維碼", }# 所有的數據列表,保存所有的名片信息 card_list = [{"name": "張三", "tel": "15977777777", "email": "777777@qq.com"} ]def show_welcome():"""歡迎菜單"""print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key, val))def add_card():"""新增名片功能"""# 定義了一個用戶名片的空字典card_dict = {}# 接收用戶的輸入name = input('請輸入姓名:')tel = input('請輸入電話:')email = input('請輸入郵箱:')# 空字典中添加內容card_dict['name'] = namecard_dict['tel'] = telcard_dict['email'] = email# 所有名片的列表添加名片字典card_list.append(card_dict)def show_cards():# print('顯示所有名片的功能!!!!!!!!!!')# 打印表頭print('姓名\t電話\t\t郵箱\t')# print(card_list) # [{},{}]# 遍歷全部名片列表,依次獲取每一個字典for card in card_list: # card是代表了一個字典name = card['name']tel = card['tel']email = card['email']# print(name,tel,email)print('{}\t{}\t{}'.format(name, tel, email))def show_search_result(card):print('搜索結果:******************')print('姓名\t電話\t\t郵箱\t')print('{}\t{}\t{}'.format(card['name'], card['tel'], card['email']))def show_deal_menu():"""顯示處理的菜單"""for key, val in deal_menu.items():print("{}----{}".format(key, val))def deal_choice():"""用戶選擇想要的操作"""# 接收用戶的輸入choice = input('請選擇對該名片的操作:')# 驗證用戶的輸入if choice not in deal_menu:choice = 'error'return choicedef get_real_info(input_data, default_data):"""驗證用戶輸入的內容是否為空,返回有用的數據"""strip_data = input_data.strip() # 把字符串的空格左右兩邊都去掉if len(strip_data) == 0:return default_datareturn strip_datadef modify_card(card):"""修改名片,本質就是修改字鍵中鍵所對應的值:param card::return:"""# - 接收新的數據:姓名,電話,郵箱new_name = input('原數據:{},要修改為:'.format(card["name"]))new_tel = input('原數據:{},要修改為:'.format(card['tel']))new_email = input('原數據:{},要修改為:'.format(card['email']))# - 把原字典的對應數據進行修改card['name'] = get_real_info(new_name, card["name"])card['tel'] = get_real_info(new_tel, card['tel'])card['email'] = get_real_info(new_email, card['email'])def delete_card(card):print('刪除名片', card)def create_png(card):print('生成二維碼', card)def run_deal_func(choice, card):"""運行用戶的選擇"""if choice == "error":print('不存在的操作指令')returnelif choice == "m":modify_card(card)elif choice == "d":delete_card(card)elif choice == "c":create_png(card)def deal_card(card):"""處理搜索成功的名片"""# - 顯示功能菜單show_deal_menu()# - 讓用戶選擇choice = deal_choice()# - 執行相關的功能函數run_deal_func(choice, card)def search_card():"""名片搜索"""# - 用戶要輸入一個搜索詞key = input('請輸入要搜索的詞(從姓名里查):') # "張"# - 依次遍歷出名片列表中的所有字典for card in card_list: # [{"name":???},{}]# card 就是一個字典{"name":???}# 獲取姓名name = card["name"] # ”張三"# 如何判斷"張" 在不在 "張三" 字符串中?if key in name:# 顯示這個結果show_search_result(card)# 處理這個結果deal_card(card)breakelse:print('查找不成功,請重新再試')def user_choice():"""用戶選擇"""# - 接收用戶的輸入choice = input('請輸入您的選擇:')# - 驗證用戶的輸入是否合法# 利用成員運算符進行驗證if choice not in func_menu:print('非法輸入,請重新再試。。。。。。。。。。。。')choice = "c" # 數據的校正,把數據修改為我們功能中有的指令return choicedef run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""print('運行{}功能'.format(choice_num))if choice_num == "1": # 新增名片分支add_card()elif choice_num == "2": # 顯示所有名片的分支show_cards()elif choice_num == "3": # 搜索名片的分支search_card()def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()if choice == "q":breakif choice == "c":continue# - 4對應的功能運行run_func(choice)# 分界符號print('\n\n')start()

功能實現:刪除數據

列表.remove(數據)

封裝二維碼的生成函數

原始內容

from segno import helpersqr = helpers.make_mecard(name='whalecode',email='1510284616@qq.com',phone='15977777777' )qr.save('whalecode電話.png', scale=5)

封裝辦法

  • 先寫一個函數
  • 把功能代碼全部都放到函數里面
  • 把變化的內容做成形參
  • 調用的時候傳遞實參

封裝的結果

from segno import helpers# 手動配置一下 dir_path = r'D:\card2020\png\\'def make_qr(name, email, phone):qr = helpers.make_mecard(name=name,email=email,phone=phone)file_name = name + ".png" # "張三.png“file_path = dir_path + file_nameprint(file_path)qr.save(file_path, scale=5)make_qr("諸葛亮2", "1111@163.com", "1334444554")

功能:批量生成二維碼

遍歷列表,得到字典

利用二維碼生成的函數

文件的讀寫操作

  • 寫一個函數用于保存數據到文件中(添加名片后保存)
  • 寫一個函數用于讀取文件的內容(讀文件內容并且把內容返回給調用者)

最終的代碼

from segno import helpers# 功能菜單 func_menu = {"1": "新增名片","2": "查詢所有名片","3": "搜索名片","4": "批量生成二維碼","q": "退出程序" }# 搜索結果的處理菜單 deal_menu = {"m": "修改名片","d": "刪除名片","c": "生成二維碼", }def load_data():"""讀取文件的內容"""# 1,打開文件,讀模式f = open('card.db', 'r', encoding='utf8')# 2,讀取內容(讀的一定是str類型)con = f.read()# 3,關閉文件f.close()# 4,激活被封印的列表con_li = eval(con)# 5,返回這個列表給調用者return con_li# 所有的數據列表,保存所有的名片信息 card_list = load_data()# 手動配置一下 dir_path = r'D:\card2020\png\\'def make_qr(name, email, phone):qr = helpers.make_mecard(name=name,email=email,phone=phone)file_name = name + ".png" # "張三.png“file_path = dir_path + file_name# print(file_path)qr.save(file_path, scale=5)def show_welcome():"""歡迎菜單"""print('*'*60)print('歡迎使用 宏鵬名片管理系統 V1.0')def show_menu():"""顯示功能菜單"""# 遍歷功能菜單字典 同時得到字典的鍵與值for key, val in func_menu.items():# print(key,'----',val)print('{}----{}'.format(key, val))def save_data():"""保存列表的數據到文件中"""# 文件打開f = open('card.db','w',encoding='utf8')# 內容存進去con = str(card_list)f.write(con)# 文件關閉f.close()def add_card():"""新增名片功能"""# 定義了一個用戶名片的空字典card_dict = {}# 接收用戶的輸入name = input('請輸入姓名:')tel = input('請輸入電話:')email = input('請輸入郵箱:')# 空字典中添加內容card_dict['name'] = namecard_dict['tel'] = telcard_dict['email'] = email# 所有名片的列表添加名片字典card_list.append(card_dict)# 保存數據到文件中save_data()def show_cards():# print('顯示所有名片的功能!!!!!!!!!!')# 打印表頭print('姓名\t電話\t\t郵箱\t')# print(card_list) # [{},{}]# 遍歷全部名片列表,依次獲取每一個字典for card in card_list: # card是代表了一個字典name = card['name']tel = card['tel']email = card['email']# print(name,tel,email)print('{}\t{}\t{}'.format(name, tel, email))def show_search_result(card):print('搜索結果:******************')print('姓名\t電話\t\t郵箱\t')print('{}\t{}\t{}'.format(card['name'], card['tel'], card['email']))def show_deal_menu():"""顯示處理的菜單"""for key, val in deal_menu.items():print("{}----{}".format(key, val))def deal_choice():"""用戶選擇想要的操作"""# 接收用戶的輸入choice = input('請選擇對該名片的操作:')# 驗證用戶的輸入if choice not in deal_menu:choice = 'error'return choicedef get_real_info(input_data, default_data):"""驗證用戶輸入的內容是否為空,返回有用的數據"""strip_data = input_data.strip() # 把字符串的空格左右兩邊都去掉if len(strip_data) == 0:return default_datareturn strip_datadef modify_card(card):"""修改名片,本質就是修改字鍵中鍵所對應的值:param card::return:"""# - 接收新的數據:姓名,電話,郵箱new_name = input('原數據:{},要修改為:'.format(card["name"]))new_tel = input('原數據:{},要修改為:'.format(card['tel']))new_email = input('原數據:{},要修改為:'.format(card['email']))# - 把原字典的對應數據進行修改card['name'] = get_real_info(new_name, card["name"])card['tel'] = get_real_info(new_tel, card['tel'])card['email'] = get_real_info(new_email, card['email'])def delete_card(card):"""從名片列表中把字典刪除"""card_list.remove(card)def create_png(card):print('生成二維碼', card)make_qr(card["name"], card["email"], card["tel"])def run_deal_func(choice, card):"""運行用戶的選擇"""if choice == "error":print('不存在的操作指令')returnelif choice == "m":modify_card(card)elif choice == "d":delete_card(card)elif choice == "c":create_png(card)def deal_card(card):"""處理搜索成功的名片"""# - 顯示功能菜單show_deal_menu()# - 讓用戶選擇choice = deal_choice()# - 執行相關的功能函數run_deal_func(choice, card)def search_card():"""名片搜索"""# - 用戶要輸入一個搜索詞key = input('請輸入要搜索的詞(從姓名里查):') # "張"# - 依次遍歷出名片列表中的所有字典for card in card_list: # [{"name":???},{}]# card 就是一個字典{"name":???}# 獲取姓名name = card["name"] # ”張三"# 如何判斷"張" 在不在 "張三" 字符串中?if key in name:# 顯示這個結果show_search_result(card)# 處理這個結果deal_card(card)breakelse:print('查找不成功,請重新再試')def user_choice():"""用戶選擇"""# - 接收用戶的輸入choice = input('請輸入您的選擇:')# - 驗證用戶的輸入是否合法# 利用成員運算符進行驗證if choice not in func_menu:print('非法輸入,請重新再試。。。。。。。。。。。。')choice = "c" # 數據的校正,把數據修改為我們功能中有的指令return choicedef make_all_qr():"""把所有的名片數據生成二維碼圖片"""for card in card_list: # card 是代表了字典make_qr(card["name"], card["email"], card["tel"])def run_func(choice_num):"""根據用戶的選擇,啟動相應的功能"""# print('運行{}功能'.format(choice_num))print('-'*60)if choice_num == "1": # 新增名片分支add_card()elif choice_num == "2": # 顯示所有名片的分支show_cards()elif choice_num == "3": # 搜索名片的分支search_card()elif choice_num == "4": # 批量生成二維碼make_all_qr()def start():"""程序的入口:return:"""while True:# - 1歡迎界面show_welcome()# - 2功能菜單show_menu()# - 3用戶選擇功能choice = user_choice()if choice == "q":breakif choice == "c":continue# - 4對應的功能運行run_func(choice)# 分界符號print('\n')start()

總結

以上是生活随笔為你收集整理的python 名片管理系统 200313的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

伊人久久影视 | 国产免费久久精品 | 午夜丁香网 | 日精品 | 五月婷婷六月丁香激情 | 深夜福利视频一区二区 | 国产精品国产亚洲精品看不卡 | 日韩伦理片hd | 在线视频 区 | 国产精品久久久久久五月尺 | 少妇bbw搡bbbb搡bbbb | www视频在线免费观看 | 日韩va欧美va亚洲va久久 | 精品国产精品久久一区免费式 | 亚洲综合色视频在线观看 | 日韩婷婷 | 综合精品久久久 | 免费高清无人区完整版 | 欧美9999| 国产一级黄色片免费看 | 免费网站在线 | 狠狠操欧美 | 精精国产xxxx视频在线播放 | 国产一区观看 | 亚洲国产婷婷 | 色综合中文综合网 | 中文字幕123区 | 91精品国产一区二区三区 | 日本在线观看一区二区三区 | 日韩免费网址 | a级片网站 | 久久嗨 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 一区免费在线 | 久久99久久99精品免费看小说 | av在线免费播放网站 | 99精品久久精品一区二区 | 亚洲成人av片在线观看 | 天天干天天操天天入 | 五月天堂网 | 国产91学生粉嫩喷水 | 玖玖在线观看视频 | 欧美精品国产综合久久 | 欧美精品久久久久久久久久白贞 | av网站大全免费 | 91精品久久久久久久久久久久久 | 九九九九九九精品任你躁 | 欧美日韩免费在线视频 | 在线欧美a | 亚洲精品高清视频在线观看 | 精品视频免费播放 | 五月婷婷综合在线 | 国产最顶级的黄色片在线免费观看 | 精品中文字幕在线 | 欧美日韩国产色综合一二三四 | av九九| 精品一区二区三区久久久 | 美女天天操 | 久草免费看| 在线观看成人毛片 | 久久久五月婷婷 | 国产精品久久久久久久午夜 | 国产精品免费一区二区三区在线观看 | 午夜视频在线观看一区二区 | 黄色aaa毛片 | 日韩色综合| 国产一区二区在线看 | 天堂网中文在线 | 97成人在线 | 国产在线观看网站 | 日韩av图片 | 天天搞天天干天天色 | a电影在线观看 | 久久精品视频在线 | 亚洲一二三区精品 | 久久国产精品99国产 | 亚洲三级在线免费观看 | 婷婷久久五月天 | 免费在线观看污网站 | 久久国产影视 | 国产精品高潮呻吟久久av无 | av中文在线影视 | 久久精品免费看 | 91精品国产91热久久久做人人 | 91久久久国产精品 | 激情丁香月 | av+在线播放在线播放 | 欧美另类重口 | 日韩精品一区二 | 在线观看视频色 | 激情一区二区三区欧美 | 久久久久久国产精品免费 | 国产精品高| 国产中文在线播放 | 91免费的视频在线播放 | 三三级黄色片之日韩 | 欧美日韩不卡在线视频 | 亚洲电影久久 | 香蕉视频久久久 | 国产专区在线播放 | 99视频在线精品国自产拍免费观看 | av在线播放观看 | 日韩精品资源 | 久久 地址 | 99综合视频 | 国产专区在线播放 | 中文字幕a∨在线乱码免费看 | 天天操狠狠操网站 | 免费黄色小网站 | 中文字幕在线观看完整版 | 美女搞黄国产视频网站 | 亚洲自拍偷拍色图 | 美女一二三区 | 国产精品久久久久久久久久新婚 | 国产精品毛片一区视频播不卡 | www.久久久com| 狠狠操精品 | 久久精品男人的天堂 | 91天天视频 | 国产成人精品久久久久 | a级一a一级在线观看 | 国产精品18久久久久久久 | 久久久久久久久亚洲精品 | av中文电影 | 国产成人在线观看 | 日韩av免费观看网站 | 亚洲a色| 日韩最新在线视频 | 久久免费观看少妇a级毛片 久久久久成人免费 | 久久久久久久久久久久久影院 | 久久久久久久国产精品 | 99久久精品国产毛片 | 久久免费试看 | 国产日韩欧美在线播放 | 国产综合香蕉五月婷在线 | 极品美女被弄高潮视频网站 | 日韩av女优视频 | 亚洲乱亚洲乱亚洲 | 日三级在线 | 97精品超碰一区二区三区 | 久久久久国产精品午夜一区 | 免费看黄色毛片 | 国产免费人人看 | 国产精品视频最多的网站 | 免费看黄在线网站 | 激情视频在线观看网址 | 日韩午夜在线播放 | 亚洲人成人在线 | a午夜在线 | 草莓视频在线观看免费观看 | 大片网站久久 | 久久黄色网页 | 97**国产露脸精品国产 | 又长又大又黑又粗欧美 | 91完整视频 | 天天做天天爽 | 亚洲国产美女精品久久久久∴ | 国产在线播放一区二区三区 | 久久国产露脸精品国产 | 欧美国产91 | 国产高清在线永久 | 国产又粗又猛又色又黄网站 | 激情婷婷六月 | 一本一本久久a久久精品牛牛影视 | 国产91勾搭技师精品 | 韩国一区二区三区在线观看 | 亚洲天堂毛片 | 久久九精品 | 麻豆视频免费在线 | 欧美在线视频不卡 | 日日夜夜人人精品 | 婷婷中文字幕综合 | 99视频偷窥在线精品国自产拍 | 色吧av色av | 国产成人不卡 | 日韩视频一区二区三区 | 成人国产精品av | 综合精品久久 | 亚洲精品男女 | 日韩激情久久 | 午夜精品久久久久久久99水蜜桃 | 黄色一区二区在线观看 | 欧美精品久久久久久久久久久 | 欧美激情精品久久久久久免费印度 | 色在线免费视频 | 日韩在线观看中文 | 99久久久国产免费 | 五月天婷亚洲天综合网鲁鲁鲁 | 女人18毛片a级毛片一区二区 | 日日干干夜夜 | 亚洲精品tv久久久久久久久久 | 91av资源在线| 免费午夜在线视频 | 国产精品久久久久久久7电影 | 欧美人体xx | 日韩av综合网站 | 免费黄a大片| 99精品视频一区 | 久久精品国产精品亚洲 | 在线婷婷 | 免费福利视频导航 | 91麻豆精品国产91久久久无需广告 | 91精品国产91久久久久福利 | 婷婷国产精品 | 国产黄影院色大全免费 | 国产一区二区影院 | 国内外成人在线视频 | 国内精品福利视频 | 天天色天天操综合网 | 欧美 亚洲 另类 激情 另类 | 久久精品播放 | 色婷婷电影 | 国产91免费在线观看 | 啪啪免费观看网站 | 91大神视频网站 | 成年人在线观看 | 国产黄色精品在线观看 | 免费日韩电影 | 久久精品中文字幕免费mv | 精品国产乱码久久久久久1区2匹 | 日韩精品在线看 | 亚洲成人午夜在线 | 一区二区在线不卡 | 爱av在线网 | 91色国产在线 | 亚洲精品综合久久 | 国产最新视频在线观看 | 在线成人性视频 | 人人爽人人香蕉 | 国产精品美女免费看 | 亚洲国产成人精品电影在线观看 | 久久国产精品一二三区 | 婷婷激情久久 | 久爱精品在线 | 一区二区三区中文字幕在线观看 | 欧美日韩一区久久 | 中文字幕一区二区三区四区久久 | 日韩在线看片 | 日韩av资源在线观看 | 黄色一区二区在线观看 | 国产精品一区二区久久国产 | 国产精品自产拍在线观看蜜 | 激情www| 超碰公开97| 99re在线视频观看 | 久久久久久久久久久成人 | 高清精品久久 | 亚洲天天综合 | 亚洲成 人精品 | 国产精品视频资源 | 日韩国产精品毛片 | 亚洲春色综合另类校园电影 | 福利av影院 | 夜夜夜草 | 园产精品久久久久久久7电影 | 在线免费观看视频 | 国产视频一 | 99人成在线观看视频 | 一区二区 不卡 | 欧美人人爱 | 四虎影视久久久 | 在线观看www91 | 久久99最新地址 | 亚洲欧美日韩一二三区 | 天天综合人人 | 69视频网站| 国产精品入口麻豆 | 中文字幕在线观看免费高清完整版 | 五月天视频网 | 国产精品久久久久久av | 精品中文字幕在线观看 | 亚洲一级片在线看 | 超碰97人人爱 | 日韩美一区二区三区 | 亚洲国产日韩一区 | 欧美精品做受xxx性少妇 | 国内精品一区二区 | 免费一级特黄录像 | 国产精品久久久久一区二区 | 在线最新av | 日韩高清一区在线 | 91精品国产电影 | 欧美十八 | 97国产 | 国产精品久久久久久模特 | a天堂最新版中文在线地址 久久99久久精品国产 | 国产小视频在线免费观看视频 | 国内精品视频久久 | 日韩免费区| 韩国一区二区三区视频 | 国产精品久久一区二区三区不卡 | 91麻豆精品国产91久久久无限制版 | 九九视频精品在线 | 青春草视频在线播放 | 在线电影日韩 | 亚洲日本色 | 亚洲欧洲久久久 | 免费在线观看av片 | 91精品视频一区二区三区 | 国产精品久久久一区二区三区网站 | 精品女同一区二区三区在线观看 | 高清av网站 | 免费看短| 亚洲天堂免费视频 | 91精品国产综合久久福利不卡 | 中文字幕中文字幕在线中文字幕三区 | 免费看黄色毛片 | 狠狠干电影 | 成人在线免费小视频 | 在线观看免费中文字幕 | 天堂网一区 | 久久理论电影网 | 91在线影视 | 国语黄色片 | 精品福利av| 91亚洲国产成人久久精品网站 | 天天干天天做天天操 | 久久久精品国产一区二区 | 人人添人人澡人人澡人人人爽 | 国产免费大片 | 日韩欧美综合 | 亚洲激情在线视频 | 国产精品一区专区欧美日韩 | 日本中文字幕在线 | 国产在线观看免 | 最近更新中文字幕 | 中文资源在线播放 | 人人干人人干人人干 | 黄色毛片在线观看 | 在线观看深夜福利 | 久久久久女人精品毛片九一 | 国产精品成人自产拍在线观看 | 欧美另类巨大 | 国产精品男女 | 亚洲国产精品成人精品 | 国产在线观看91 | 丝袜美女视频网站 | 亚洲免费在线观看视频 | 摸阴视频 | 久久久夜色| 亚洲视频电影在线 | 免费观看视频的网站 | 国产91小视频 | 婷婷99 | 精品在线播放视频 | 国产美女搞久久 | 男女视频国产 | 久久亚洲私人国产精品va | 四虎在线永久免费观看 | 日女人免费视频 | 国产不卡视频 | 国产精品一区二区久久精品爱微奶 | 国产亚洲综合性久久久影院 | 99久久久精品 | 人人玩人人弄 | 亚洲伦理一区 | 亚洲一片黄 | 亚洲一区美女视频在线观看免费 | 一区二区三区精品久久久 | 亚洲极色 | 91精品视频免费在线观看 | 在线国产能看的 | 91精品国产91久久久久福利 | 成人黄色大片在线观看 | 五月激情久久 | a黄色一级| 国产精品免费麻豆入口 | 欧美色就是色 | 美女黄久久 | 免费看黄电影 | 中文字幕一区二区三区四区视频 | 九色视频网站 | 亚洲国产一区在线观看 | 国产精品video爽爽爽爽 | 中文字幕视频三区 | 99热在线这里只有精品 | 中国精品一区二区 | 在线观看中文字幕 | 最新99热 | 天天色播| 在线网址你懂得 | 久久这里只有精品视频首页 | 在线观看 国产 | 久久久久免费精品视频 | 美女视频黄的免费的 | av资源网在线播放 | 色综合婷婷 | 97超级碰 | 狠狠干免费 | 国产精品欧美久久久久天天影视 | 天天视频亚洲 | 亚洲精品国偷自产在线91正片 | 久久资源在线 | 国产永久免费高清在线观看视频 | 国产视频一区二区在线观看 | 亚洲经典中文字幕 | 视频国产精品 | 久久免费在线观看 | 91日韩精品一区 | 国产成免费视频 | 91天堂在线观看 | 成人在线观看免费视频 | 91精品视频一区二区三区 | 中文字幕免费在线 | 超碰免费av| 99热九九这里只有精品10 | 国产精品一区二区三区免费视频 | 久草在线免 | 婷婷六月在线 | 黄色www在线观看 | 亚洲综合五月 | 欧美日韩99 | 日本久久久久久久久久久 | 国内精品久久久久影院优 | 欧美三级免费 | 中文字幕在线观看一区 | 九九激情视频 | 三级动态视频在线观看 | 国产精品门事件 | 中文在线免费一区三区 | 毛片随便看 | 国产综合在线视频 | av三级av| 国产在线观看免费观看 | 色综合天天色综合 | 麻豆视频免费网站 | 国产一区二区三精品久久久无广告 | 人人爽久久久噜噜噜电影 | 国产精品一区专区欧美日韩 | 久久免费看a级毛毛片 | 视频精品一区二区三区 | 亚洲一级理论片 | 天天爱综合 | 激情黄色av| 深夜男人影院 | 成人av免费在线看 | 亚洲视频www| 亚洲涩涩一区 | 日韩免费三级 | 久久午夜网 | 欧美精品久久久久久久久久 | 国产精品99视频 | 久久综合色综合88 | 日本久久片 | 91在线看黄| 天天综合导航 | 久久国产精品99久久久久 | 色婷婷综合久久久久 | 日日添夜夜添 | 亚洲欧美日韩国产 | 欧美日韩综合在线 | 新av在线 | 一区二区三区免费播放 | 6080yy精品一区二区三区 | 亚洲色图美腿丝袜 | 亚洲国产精品一区二区久久hs | 欧美日韩不卡一区二区 | 亚洲乱亚洲乱亚洲 | 97色婷婷成人综合在线观看 | 麻豆极品| 手机在线黄色网址 | 亚洲 欧美 日韩 综合 | 欧美一级免费黄色片 | 国产精品一区电影 | 亚洲专区在线播放 | 亚洲人成网站精品片在线观看 | 国产高清视频在线播放 | 日韩欧美视频免费看 | 久久免费看毛片 | 超碰九九 | 九九在线高清精品视频 | 国色天香第二季 | 黄色aaaaa| 成人黄色小视频 | 亚洲视频 视频在线 | 日本在线观看一区二区三区 | 日本性视频 | 这里只有精品视频在线观看 | 天天干天天看 | 亚洲午夜在线视频 | 精品国产美女在线 | 免费视频久久久久 | 免费看的视频 | 欧美极品一区二区三区 | 国产精品久久久一区二区三区网站 | 91激情 | 天天干天天综合 | 91免费网站在线观看 | 国内精品久久久久久久久久久 | 精品免费一区 | 精品999久久久 | 又色又爽又黄高潮的免费视频 | 亚洲精品1234区 | 激情五月色播五月 | 久草在线精品观看 | 国产高清在线a视频大全 | 欧美男男tv网站 | 91社区国产高清 | 免费观看一级 | 99精品视频中文字幕 | 日韩欧美黄色网址 | 欧美在线一二区 | 黄色软件网站在线观看 | 国产在线不卡精品 | 免费99| 色视频成人在线观看免 | 韩国视频一区二区三区 | 欧美日韩一二三四区 | 热久久在线视频 | 成人四虎影院 | 97国产精品| 日韩精品一区电影 | 国产精品久久久久久久久久不蜜月 | 国产免费av一区二区三区 | 欧美,日韩| 视频一区在线播放 | 精品国产免费一区二区三区五区 | 久久久久亚洲国产 | 日韩啪啪小视频 | 一级做a爱片性色毛片www | 黄色片网站av| 成人av亚洲| 国产99久久久久久免费看 | 激情视频久久 | 正在播放 国产精品 | 免费看久久久 | 日韩久久一区 | 久久综合99 | 久久久久久久av | 成人精品福利 | 中文字幕在线观看你懂的 | 91在线视频一区 | 黄在线免费看 | 免费a v在线| 人人澡人摸人人添学生av | 亚洲欧美婷婷六月色综合 | 中文字幕精品三级久久久 | 国产精品久久久久毛片大屁完整版 | 国产精品99免视看9 国产精品毛片一区视频 | a级成人毛片 | 高清在线观看av | 高清不卡毛片 | 国产一区二区网址 | 国产成人精品免费在线观看 | 中文字幕在线观看免费 | 久久99精品久久久久蜜臀 | 亚洲春色综合另类校园电影 | 国产999视频 | 欧美日韩在线视频一区二区 | 久久手机视频 | 日韩成人不卡 | 激情www | 久久国语 | 91麻豆精品国产91久久久更新时间 | 久久韩国免费视频 | 中文字幕国产亚洲 | 天堂av在线网 | 玖玖综合网 | 亚洲 欧美 综合 在线 精品 | 热九九精品 | 国产高清视频在线观看 | 国产视频在线观看免费 | 在线а√天堂中文官网 | 亚洲一区二区高潮无套美女 | 中文字幕在线成人 | 中文字幕第一页在线vr | 精品二区视频 | 欧美日韩国产一二三区 | 欧美精品一区二区性色 | www.夜夜操 | 97视频入口免费观看 | 久久精品视频3 | 亚洲影视九九影院在线观看 | 欧美孕交vivoestv另类 | 97精品国自产拍在线观看 | 色在线免费观看 | 欧美激情精品久久久久久免费印度 | 国内精品视频一区二区三区八戒 | 久久黄色精品视频 | 久久高清免费视频 | av福利超碰网站 | 欧美日韩免费观看一区二区三区 | 欧美成人69av| 亚洲精品在线观看的 | 国产成人精品av | 狠狠色丁香婷婷综合久久片 | 精品久久福利 | 91视频久久久 | 99视频播放 | 日韩一区在线播放 | 久久天天躁狠狠躁夜夜不卡公司 | 成人亚洲精品国产www | 国产高清视频在线播放 | 网址你懂的在线观看 | 成年人在线免费视频观看 | 最新国产精品拍自在线播放 | 久久久高清视频 | 日韩久久精品一区 | 色婷婷av国产精品 | 国产精品videossex国产高清 | 日韩av三区 | 四虎成人精品永久免费av | 99久久精品费精品 | 黄色www在线观看 | 最近中文字幕视频网 | 伊人资源站 | 国产美女免费看 | 国产视频日韩视频欧美视频 | 亚洲欧美综合精品久久成人 | 久久高清精品 | 久久伊人八月婷婷综合激情 | 在线观看免费av片 | 一区精品在线 | 一区二区三区在线观看免费 | 五月婷婷视频在线观看 | 日韩欧美在线综合网 | 日日爽视频| 国产精品免费在线观看视频 | 色.www | 欧美亚洲久久 | 免费h精品视频在线播放 | 青草视频网 | 国产精品入口麻豆 | 国产精品福利久久久 | 91精品久久久久久 | 日韩精品第1页 | 狠狠干夜夜操天天爽 | 天天操天天摸天天射 | 99精品国自产在线 | 欧美日韩一区二区三区视频 | 9999在线 | www.婷婷色 | 99精品国产兔费观看久久99 | 色婷婷av国产精品 | 精品亚洲视频在线 | 91丨九色丨国产在线观看 | 丁香在线视频 | 在线观看成人av | 国产成人av| 亚洲免费a| 激情片av| 在线观看中文字幕网站 | 在线观看网站黄 | 国产黄色视| 波多野结衣在线观看视频 | 丁香六月在线观看 | 精品在线视频观看 | 久久久久久网站 | 成人黄色大片 | 色噜噜狠狠色综合中国 | 久草a视频 | 免费黄a | 久久色在线观看 | 久久久久免费电影 | 一区二区三区免费播放 | 亚洲永久国产精品 | 狠狠夜夜| 在线免费观看一区二区三区 | 亚洲美女免费精品视频在线观看 | 五月天天天操 | 精品国产电影一区二区 | 2021国产视频 | 日韩在线免费视频 | 成人h动漫在线看 | 国产视频美女 | 天天操夜夜操夜夜操 | 91香蕉国产在线观看软件 | 成人久久18免费网站麻豆 | 亚洲精品人人 | 92av视频| 超碰97国产在线 | 国产精品久久久久久久久婷婷 | 久久艹人人 | 综合网欧美 | 久久手机免费视频 | 国产精品美女999 | 四虎海外影库www4hu | 国产精品欧美日韩在线观看 | 成人黄色小说视频 | 亚洲欧洲av | 国产精品久久 | av在线一级 | 国产成人一区二区三区 | 久久伊人五月天 | 天天色棕合合合合合合 | 日韩激情中文字幕 | 中文字幕一二 | 国产精品ssss在线亚洲 | 亚洲不卡在线 | 久久无码av一区二区三区电影网 | av电影免费在线看 | 国产精品久久久久久久免费观看 | 91天天视频| 一区av在线播放 | 黄色av电影免费观看 | 97视频人人免费看 | 欧美一级电影片 | 久久99精品热在线观看 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 精品一二三区 | 久久99国产精品视频 | 13日本xxxxxⅹxxx20 | av在线a| 中文字幕在线播放第一页 | 国产精华国产精品 | 91av网址 | 在线一区av| 91理论电影 | 日韩在线色视频 | av在线成人 | 91人人人 | 久久精品国产一区二区三 | 国产高清成人 | 亚洲精品在线观看中文字幕 | 草免费视频 | 超碰com| 一级特黄aaa大片在线观看 | 日韩精品一区在线播放 | 四虎影视成人精品 | 中文字幕亚洲欧美日韩 | 欧美色综合 | 在线观看网站av | 日本九九视频 | 国产无遮挡猛进猛出免费软件 | 国产精品岛国久久久久久久久红粉 | 久久99精品国产麻豆宅宅 | 久久综合导航 | 久草新在线 | 亚洲综合在线一区二区三区 | 国产又粗又长又硬免费视频 | 99视频网址 | 免费看毛片网站 | 久久综合久久综合这里只有精品 | 91色在线观看 | www.福利视频 | 免费看的黄色的网站 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久综合五月 | 毛片黄色一级 | 婷婷丁香激情综合 | 在线视频久 | 中文字幕乱码亚洲精品一区 | 国产精品永久免费在线 | 日韩剧| 久久久在线视频 | 在线va视频| 蜜臀av性久久久久蜜臀aⅴ四虎 | 激情五月激情综合网 | 国产丝袜一区二区三区 | 国产视频1区2区3区 久久夜视频 | 天天干,天天操 | 91人人网 | 中国美女一级看片 | 欧产日产国产69 | 区一区二区三在线观看 | 波多野结衣久久资源 | 91成人在线观看喷潮 | 欧美日韩国产一二三区 | 国内成人av| 久久婷婷色 | 2021av在线 | 国产黄色电影 | 福利视频区 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 91精品国产综合久久福利不卡 | 久久精品播放 | 九九免费在线观看 | 亚洲va综合va国产va中文 | 欧美一区二区精品在线 | 在线国产视频一区 | 天天综合成人网 | 免费在线观看av的网站 | 狠狠狠狠狠干 | 欧美一二三区在线观看 | 色a4yy| 久久久久久久久久久影视 | 亚洲一区视频在线播放 | av色一区 | 国产成a人亚洲精v品在线观看 | 又爽又黄又无遮挡网站动态图 | 国产亚洲精品久久久久动 | 五月天综合在线 | 久久视频免费在线 | av丝袜在线 | 国产一区在线视频 | 一区在线观看 | 免费在线观看日韩视频 | 久久久久草 | 国产精品欧美久久 | 亚洲国产大片 | 日韩有码在线播放 | 在线av资源| 男女全黄一级一级高潮免费看 | 天天插天天狠 | 麻豆mv在线观看 | 手机av观看 | 在线视频 成人 | 亚洲免费激情 | 久久人人添人人爽添人人88v | 国内精品久久久 | 精品免费一区 | 97精品一区二区三区 | 国产成人黄色 | 国产精品久久在线观看 | 国产精品永久久久久久久www | 这里只有精品视频在线观看 | 亚洲好视频 | 99r在线观看 | 97超碰在线免费观看 | 亚洲免费在线视频 | 色婷婷综合久久久中文字幕 | 欧美日韩一级在线 | 亚洲国产成人av网 | 日韩av在线不卡 | 波多野结衣在线视频免费观看 | 午夜视频免费播放 | 精品欧美小视频在线观看 | 久草在线免费色站 | 欧美精品二区 | 日日激情 | 五月情婷婷 | 国产无套精品久久久久久 | 日韩av片无码一区二区不卡电影 | 香蕉在线观看视频 | 久久国产精品99久久人人澡 | 一区二区电影在线观看 | 日本三级国产 | 久久超碰免费 | 国产精品中文字幕在线 | 黄网av在线 | 国产三级精品三级在线观看 | 夜夜躁狠狠躁日日躁视频黑人 | 啪啪免费观看网站 | 亚洲欧美日韩一级 | 国产成人精品久 | 天天操夜夜叫 | 99精品免费视频 | 欧美影片 | 不卡国产在线 | 国产成人免费观看 | 国产精品12 | 久久亚洲区 | 最新中文字幕在线资源 | 久精品视频免费观看2 | 亚洲欧美日韩在线看 | 97在线资源| 婷婷深爱五月 | 欧美精品久久99 | 日韩精品中文字幕在线 | 亚洲天天综合 | 国产精品第十页 | 日韩在线观看av | 久久天天综合网 | 麻豆传媒视频在线免费观看 | 日韩xxx视频 | 最近免费中文字幕大全高清10 | 亚洲精品白浆高清久久久久久 | 午夜在线免费视频 | 久久a国产 | 久久免费成人精品视频 | 五月天天av | 亚洲春色成人 | 日韩亚洲在线 | 人人爽人人爽人人片av | 精品国产乱码久久久久久1区2匹 | 日本黄色a级大片 | 久草精品视频在线观看 | 国产高清视频在线播放一区 | www.国产毛片 | 亚洲永久在线 | 国产粉嫩在线观看 | 福利视频导航网址 | 日韩在线视频一区二区三区 | 免费色网 | 国内精品久久久久久久久久清纯 | 国产精品自在欧美一区 | 国产99视频在线观看 | 人人澡人摸人人添学生av | 国产区精品 | 欧美成人一区二区 | 国产一区私人高清影院 | 免费观看一级一片 | 一级成人在线 | 色婷婷狠狠 | 亚洲一区网 | 9999精品| 天天插日日射 | 欧美大片mv免费 | 国产精品va视频 | 丁香婷婷综合激情五月色 | 国产亚洲精品电影 | 国产精品视频在线观看 | 97在线资源| 天天色视频 | 特级毛片网| 99久久日韩精品免费热麻豆美女 | 久久亚洲私人国产精品 | 亚洲高清在线观看视频 | 国产精品片 | 女人魂免费观看 | 丰满少妇一级片 | 日韩精品在线观看视频 | 欧美精品在线观看免费 | 国产亚洲婷婷 | 在线韩国电影免费观影完整版 | 久久五月婷婷丁香社区 | 久久精品9 | 精品中文字幕在线 | 91视频高清完整版 | 亚洲国产日韩欧美在线 | 亚洲综合激情小说 | 中文字幕第一页在线 | 麻豆视频免费入口 | 91精品国产成人观看 | 国产高清免费观看 | 激情五月婷婷综合 | 免费成人在线观看 | 日韩av成人在线观看 | 精品欧美一区二区三区久久久 | 午夜影院在线观看18 | 欧美极品裸体 | 天操夜夜操 | 波多野结衣一区二区三区中文字幕 | 欧美一二区视频 | 99久久久国产精品免费99 | 成人91av| 欧美另类交人妖 | 久久96国产精品久久99软件 | 在线观看第一页 | 国产中文字幕在线播放 | 久久久久国产精品免费 | 日韩视频在线播放 | 久久视精品 | 美女久久久久久久久久久 | 日韩视频二区 | 在线影院 国内精品 | 成人午夜网 | 亚洲激情综合 | 五月婷婷在线观看视频 | 国产成人久久av免费高清密臂 | 天天干天天操天天干 | 中文字幕中文中文字幕 | 亚洲a网| 欧洲精品久久久久毛片完整版 | 久久国产网 | 亚洲伊人网在线观看 | 国产亚洲精品久久久久秋 | 天天干人人干 | 日韩欧美区 | 亚洲免费公开视频 | 欧美激情视频三区 | 国产精品av免费 | 国产在线观看,日本 | 亚洲成人国产精品 | 欧美在线一二区 | 五月丁色 | 最新精品国产 | 在线观看蜜桃视频 | 天天草视频 | 亚洲成av人片一区二区梦乃 | 国产小视频你懂的 | 最新中文字幕在线播放 | 国产精品精品久久久久久 | 国产一区二区三精品久久久无广告 | 色网av| 337p日本欧洲亚洲大胆裸体艺术 | 超碰人人舔 | 国产精品国产三级国产不产一地 | 亚洲欧洲一区二区在线观看 | 日日操天天操夜夜操 | 亚洲电影院 | 久久久视频在线 | 中文字幕免费高清 | 久久精品三 | 97超在线视频 | 久久在线精品视频 | 九色琪琪久久综合网天天 | 91精品中文字幕 | 五月天激情开心 | 狠狠色噜噜狠狠狠狠2021天天 | 在线看一区二区 | 国产一区二区三区在线 | 成年人免费看片网站 | 中文字幕av一区二区三区四区 | 五月天婷亚洲天综合网精品偷 | 超碰在线人人爱 | 国产亚洲精品久久久久久大师 | 亚洲国产精品小视频 | 又黄又爽又色无遮挡免费 | 精品久久久久免费极品大片 | 色是在线视频 | 国产精品短视频 | 欧美日韩免费视频 | 999久久久久久久久久久 | 人人添人人澡 | 久草在线视频看看 | 中文字幕在线视频一区二区 | 丁香六月天婷婷 |