建立cards_main文件:
# _ * _编码:utf - 8 _ * _ ”“” 文件:cards_main.py 日期:2018-07-18 19:47 作者:jiong 描述: ”“” 进口cards_tools #无限循环,由用户主动决定什么时候退出 而真正的: # TODO注释,用于标记需要去做的工作 cards_tools.show_menu () action_str=raw_input(“请选择希望执行的操作:“) 打印(“你选择的操作是% s“% action_str) # 1、2、3针对名片的操作 如果action_str (“1”、“2”、“3”): 如果action_str==?”: cards_tools.new_card () elif action_str==?”: cards_tools.show_all () elif action_str==?”: cards_tools.search_card () # 0退出系统 elif action_str==" 0 ": 打印(“欢迎再次使用【名片管理系统】:”) 打破 #如果在开发程序时,不希望立刻编写分支内部的代码 #可以使用通过关键字,表示一个占位符,能够保证程序的代码结构正确 #运行程序时,通过关键字不会执行任何操作 其他: 打印(“输入错误,请重新输入:“) >之前建立cards_tools文件
# _ * _编码:utf - 8 _ * _ ”“” 文件:cards_tools.py 日期:2018-07-18 19:47 作者:jiong 描述: ”“” card_list=[] def show_menu (): ”““显示菜单”“” 打印‘*’* 50 打印的欢迎使用【名片管理系统】” 打印” 打印1。新增名片” 打印”2。显示全部” 打印的3。搜索名片” 打印“0。退出系统的 打印‘*’* 50 def new_card (): ”““新增名片”“” 打印”——“* 50 打印的新增名片” # 1。提示用户输入名片的详细信息 name_str=raw_input(“请输入姓名:') phone_str=raw_input(“请输入电话:') qq_str=raw_input(“请输入QQ: ') email_str=raw_input(“请输入邮箱:') # 2。使用用户输入的信息建立一个名片字典 card_dict={name_str: name_str, “phone_str”: phone_str, “qq_str”: qq_str, “email_str”: email_str} # 3。将名片字典添加到列表中 card_list.append (card_dict) #把一个字典追加到一个列表中 打印card_list # 4。提示用户添加成功 打印“添加% s的名片成功的% name_str def show_all (): ”““显示所有名片”“ 打印”——“* 50 打印的显示所有名片” #判断是否存在名片记录,如果没有,提示用户并且返回 如果len (card_list)==0: 打印“当前没有任何的名片记录,请使用新增功能添加名片” #返回可以返回一个函数的执行结果 #下方的代码不会被执行 #如果返回后面没有任何的内容,表示会返回到调用函数的位置 #并且不返回任何结果 返回 #打印表头 的名字(“姓名”、“电话”,“QQ”,“邮箱”): 打印的名字, 打印” #打印分隔线 打印“=? 50 #遍历名片列表依次输出字典信息 在card_list card_dict: #打印card_dict 打印' % s \ t \ t % s \ \ t % s \ \ t % s的% (card_dict (“name_str”), card_dict [' phone_str '), card_dict [' qq_str '), card_dict [' email_str ']) def search_card (): ”““搜索名片”“” 打印”——“* 50 打印“搜索名片” # 1。提示用户输入要搜索的姓名 find_name=raw_input(“请输入要搜索的姓名:') # 2 .遍历名片列表,查询要搜索的姓名,如果没有找的到,需要提示用户 在card_list card_dict: 如果card_dict name_str”==find_name: 打印的姓名电话QQ邮箱” 打印“=? 50 打印的% s % s % s % s % (card_dict (“name_str”), card_dict [' phone_str '), card_dict [' qq_str '), card_dict [' email_str ']) # TODO针对找到的名片记录执行修改和删除的操作 #在我们的日常编写程序中,如果一个函数的代码太多,阅读和编写都是一件困难的事情,而在开发中,可以针对一个具体独立的功能来封装一个函数,由这个函数来处理具体的操作,这样就能保证每个函数中的代码清晰明了,功能明确 deal_card (card_dict) 打破 其他: 打印“抱歉,没有找到% s的% find_name def deal_card (find_dict): 打印find_dict action_str=raw_input(“请选择要执行的操作的 ”[1]修改[2]删除:') #替换已经存在的键值对 如果action_str==' 1 ': find_dict [' name_str ']=input_card_info (find_dict [' name_str '],“姓名:') find_dict [' phone_str ']=input_card_info (find_dict [' phone_str '],“电话:') find_dict [' qq_str ']=input_card_info (find_dict [' qq_str '],“QQ:”) find_dict [' email_str ']=input_card_info (find_dict [' email_str '],“邮箱:') 打印的修改名片成功! ! !” elif action_str==?”: card_list.remove (find_dict) 打印“删除名片成功! ! !” def input_card_info (dict_value tip_message): ”“” :param dict_value:字典中原有的值 :param tip_message:输入的提示文字 返回:如果用户输入了内容,就返回内容,负责返回字典中原有的值 ”“” # 1。提示用户输入内容 result_str=raw_input (tip_message) # 2。针对用户的输入进行判断,如果用户输入了内容,直接返回结果 如果len (result_str)比;0: 返回result_str # 3。如果用户没有输入内容,返回”字典中原有的值的 其他: 返回dict_valueLinux下python制作名片示例