‘‘‘ 我的第一个py小程序 名片处理系统 2020 06 09 main.py ‘‘‘ #导入功能模块,单词处理每一部分功能 import cards_fun1 while True: #欢迎页面 cards_fun1.hy() # 请用户选择 num_input = input("请选择:") print("您选的是 【%s】"% num_input) #选择0,退出 if num_input=="0": print("欢迎再次使用") break #选择1,新建名片 elif num_input=="1": cards_fun1.new_card() #选择2,显示全部名片 elif num_input=="2": cards_fun1.show_card() #选择3,搜索名片 elif num_input=="3": cards_fun1.search_card() else : print("输入错误")
‘‘‘功能模块 cards_fun1.py ‘‘‘ #列表数据类型,用来保存所有名片信息 cards_list=[] """欢迎页面 """ def hy(): print("*"*50) print(‘‘‘ 欢迎使用 名片管理系统 0. 退出 1. 新建名片 2. 显示全部 3. 查询名片 ‘‘‘ ) print("*"*50) ‘‘‘新建名片模块 ‘‘‘ def new_card(): #功能标题 print("-" * 50) print("新建名片") #提示输入 name_in=input("请输入名字:") tel_in=input("请输入电话:") qq_in=input("请输入qq :") #放入字典 card_dic={"name":name_in,"tel":tel_in,"qq":qq_in} #放入列表 cards_list.append(card_dic) # TODO #提示输入完成 print("-"*50) print("您输入的名片是:\n名字:%s\t\t\t电话:%s\t\t\tqq:%s" % (card_dic["name"], card_dic["tel"], card_dic["qq"])) ‘‘‘显示全部名片模块 ‘‘‘ def show_card(): print("-" * 50) print("显示名片") if cards_list==[]: print("系统为空") else : # 打印分割线 print("-"*50) #打印表头 for t in ["姓名","电话","qq"]: print(t,end="\t\t\t") print("") # TODO 显示不好看,对不齐!!! #遍历列表 for x in cards_list: print("%s\t\t\t%s\t\t\t%s" % (x["name"],x["tel"],x["qq"])) # 打印分割线 print("-"*50) ‘‘‘查询名片功能模块 ‘‘‘ def search_card(): print("-" * 50) print("搜索名片") input_name=input("请输入要搜索的名字:") for card in cards_list: if card["name"]==input_name: print("找到了~") # 打印表头 for t in ["姓名", "电话", "qq"]: print(t, end="\t\t\t") print("") # 显示搜索结果 print("%s\t\t\t%s\t\t\t%s" % (card["name"], card["tel"], card["qq"])) #调用名片处理函数 modify_card(card) #找到退出for循环 break else: print("没有找到") def modify_card(card): """#名片处理函数 :param card:搜索到card字典 :return: NULL """ #接收输入 inp=input("1: 修改\t2:删除\t3:退出,请选择:") #选择1 ,修改card if inp=="1": #显示标题 print("修改名片") #没有指针,调用有点不方便 #单独定义函数,区分用户回车与否,如果输入回车不返回字典中的旧值 card["name"]=md_tel(card["name"],"输入回车不修改,请输入名字:") card["tel"]=md_tel(card["tel"],"输入回车不修改,请输入电话:") card["qq"]=md_tel(card["tel"],"输入回车不修改,请输入qq:") #提示修改完成 print("修改完成:") # 打印表头 for t in ["姓名", "电话", "qq"]: print(t, end="\t\t\t") print("") # 显示修改后的结果 print("%s\t\t\t%s\t\t\t%s" % (card["name"], card["tel"], card["qq"])) #选择2,删除card elif inp=="2": #显示标题 print("删除名片") delcard=input("1:确认删除 2: 放弃删除") if delcard=="1": cards_list.remove(card) print("已删除!") #选择3,退出 elif inp=="3": return def md_name(old_name,out_str): """修改名字,如果回车,不修改 :param old_name: 字典中旧值,即card[name] :param out_str: 输入提示字符串 :return: 字典中的旧值或用户输入的名字 """ in_name=input(out_str) if len(in_name)==0: return old_name else : return in_name def md_qq(old_qq,out_str): """修改qq,如果回车,不修改 :param old_qq: 字典中旧值,即card[qq] :param out_str: 输入提示字符串 :return: """ in_qq=input(out_str) if len(in_qq)==0: return old_qq else : return in_qq def md_tel(old_tel,out_str): """修改电话,如果回车,不修改 :param old_tel: 字典中旧值,即card[tel] :param out_str: 输入提示字符串 :return: """ in_tel=input(out_str) if len(in_tel)==0: return old_tel else : return in_tel