一、搭建名片管理系统框架结构
1.准备文件,确定文件名,保证能够在需要的位置编写代码;
2.编写主运行循环,实现基本的用户输入和判断;
二、文件准备
1.新建cards_main.py保存主程序功能代码;
2.新建cards_tools.py保存所有名片功能函数,将对名片的增删改查功能封装在不同的数据中;
三、实例步骤
第一阶段:
while True:#无限循环
action_str=input("请选择希望执行的操作:")
print("您选择的操作是【%s】"%action_str)
#1,2,3针对名片的操作
if action_str in ["1","2","3"]:
pass#如果正在开发程序时不希望立刻编写分支内部的代码,可以使用pass关键字
#pass表示一个占位符,保证程序的代码结构正确
#程序运行时,pass不会执行任何操作
#0退出系统
elif action_str=="0":
print("欢迎再次使用【名片管理系统】")
break
#其他内容输入错误,需要提示用户
else:
print("您输入的不正确,请重新选择")
完善:
import cards_tools
while True:#无限循环
cards_tools.show_menu()
action_str=input("请选择希望执行的操作:")
print("您选择的操作是【%s】"%action_str)
#1,2,3针对名片的操作
if action_str in ["1","2","3"]:
#新增名片
if action_str=="1":
cards_tools.new_card()
#显示全部
elif action_str=="2":
cards_tools.show_all()
#查询名片
elif action_str=="3":
cards_tools.search_card()
elif action_str=="0":
print("欢迎再次使用【名片管理系统】")
break
#其他内容输入错误,需要提示用户
else:
print("您输入的不正确,请重新选择")
#记录所有的名片字典
card_list=[]
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用【名片管理系统】v1.0")
print("")
print("1.新增名片")
print("2.显示全部")
print("3.搜索名片")
print("")
print("0.退出系统")
print("*" * 50)
def new_card():
"""新增名片"""
print("-"*50)
print("新增名片")
name=input("请输入姓名:")
phone=input("请输入电话:")
qq=input("请输入QQ:")
email=input("请输入邮箱:")
card_dict={"name":name,
"phone":phone,
"qq":qq,
"email":email}
card_list.append(card_dict)
print(card_list)
print("添加%s的名片成功"%name)
def show_all():
"""显示所有名片"""
print("-" * 50)
print("显示所有名片")
if len(card_list)==0:
print("当前没有任何的名片记录请使用新增功能添加名片")
return
for name in ["姓名","电话","QQ","邮箱"]:
print(name,end="\t\t")
print("")
print("=" * 50)
for card_dic in card_list:
print("%s\t\t%s\t\t%s\t\t%s"%(card_dic["name"],
card_dic["phone"],
card_dic["qq"],
card_dic["email"]))
def search_card():
"""搜索名片"""
print("-"*50)
print("搜索名片")
find_name=input("请输入要搜索的姓名")
for card_dict in card_list:
if card_dict["name"]==find_name:
print("姓名\t\t电话\t\tQQ\t\t邮箱\t\t")
print("="*50)
print("%s\t\t%s\t\t%s\t\t%s"%(card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]))
break
else:
print("抱歉没有找到%s"%find_name)