太赞了!国庆节用python玩出个名片管理系统
原创
©著作权归作者所有:来自51CTO博客作者mb633b99cc57e0a的原创作品,请联系作者获取转载授权,否则将追究法律责任
需求
- 程序启动,显示欢迎界面和功能菜单
- 以数字选择不同功能
- 根据选择,执行不同功能
- 名片需要记录用户:姓名、电话、qq、邮箱
- 查询指定的名片,用户可选择删除或修改
- 使Python程序直接能运行
显示界面如下图:理念学自网络,感谢老师的支持
搭建框架
目标:
1、准备文件,创建文件名;2、编写主循环,实现基本的用户输入、判断
步骤:
1、 新建cards_main.py文件,保存主程序功能代码
2、 新建cards_tools.py文件,保存功能函数代码
3、 用户输入判断
#!/usr/bin/env python
action_str = input("请选择操作:")
print("选择是【%s】" % action_str)
#1,2,3针对名片的操作
if action_str in ["1","2","3"]:
#占位符,保证程序结构正确,不会执行操作
pass
#0 退出系统
elif action_str == "0":
pass
#输入其他内容,提示用户,输入错误
else:
print("输入错误,重选")
执行:
报错处理:不是期望的值,可能代码错误,但是代码并没错误
解决:原来,以这种形式执行,需要声明运行环境,否则,它会以默认环境运行,不匹配Python3的代码。
4、 保证无限循环(必须对齐)
#! /usr/bin/env python
while True:
action_str = input("请选择操作:")
print("选择是【%s】" % action_str)
#1,2,3针对名片的操作
if action_str in ["1","2","3"]:
#占位符,保证程序结构正确,不会执行操作
pass
#0 退出系统
elif action_str == "0":
print("欢迎下次使用")
break
#输入其他内容,提示用户,输入错误
else:
print("输入错误,重选")
验证:
5、判断用户操作,预留代码位置
增加代码:
#! /usr/bin/env python
while True:
action_str = input("请选择操作:")
print("选择是【%s】" % action_str)
#1,2,3针对名片的操作
if action_str in ["1","2","3"]:
#新增名片
if action_str == "1":
pass
#显示全部
elif action_str == "2":
pass
#查询名片
elif action_str == "3":
pass
#0 退出系统
elif action_str == "0":
print("欢迎下次使用")
break
#输入其他内容,提示用户,输入错误
else:
print("输入错误,重选")
执行代码:和之前一样,只不过断点调试,可以看到代码会跳到不同位置。
6、显示欢迎界面
创建cards_tools.py文件
添加以下函数代码:
#! /usr/bin/env python
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用【名片系统】V 9.9")
print("")
print("1.新增名片")
print("2.显示全部")
print("3.搜索名片")
print("")
print("0.退出系统")
print("*" * 50)
编辑主程序文件:添加绿色区域,两行代码
vim cards_main.py
#! /usr/bin/env python
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":
pass
#显示全部
elif action_str == "2":
pass
#查询名片
elif action_str == "3":
pass
#0 退出系统
elif action_str == "0":
print("欢迎下次使用")
break
#输入其他内容,提示用户,输入错误
else:
print("输入错误,重选")
验证:
7、准备名片操作函数并修改主文件调用函数
vim cards_tools.py
新增三种函数
#! /usr/bin/env python
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用【名片系统】V 9.9")
print("")
print("1.新增名片")
print("2.显示全部")
print("3.搜索名片")
print("")
print("0.退出系统")
print("*" * 50)
def new_card():
"""新增名片"""
print("-" * 50)
print("新增名片")
def show_all():
"""显示全部"""
print("-" * 50)
print("显示全部")
def search_card():
"""搜索名片"""
print("-" * 50)
print("搜索名片")
vim cards_main.py
#! /usr/bin/env python
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()
#0 退出系统
elif action_str == "0":
print("欢迎下次使用")
break
#输入其他内容,提示用户,输入错误
else:
print("输入错误,重选")
验证:
保存数据的结构
分析:使用字典记录每张名片的详细信息;列表统一记录所有名片字典
vim cards_tools.py
添加一行代码即可
定义功能
1、 新增名片功能
vim cards_tools.py
#! /usr/bin/env python
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用【名片系统】V 9.9")
print("")
print("1.新增名片")
print("2.显示全部")
print("3.搜索名片")
print("")
print("0.退出系统")
print("*" * 50)
def new_card():
"""新增名片"""
print("-" * 50)
print("新增名片")
# 1.提示用户输入名片详细信息
name = input("请输入姓名:")
phone = input("请输入电话:")
qq = input("请输入QQ:")
email = input("请输入邮箱:")
# 2.使用用户输入建立名片字典
card_dict = {"name": name,
"phone": phone,
"qq": qq,
"email": email}
# 3.将名片字典添加到列表中
card_list.append(card_dict)
print(card_list)
# 4.提示用户添加成功
print("添加 %s 的名片成功!" % name)
def show_all():
"""显示全部"""
print("-" * 50)
print("显示全部")
def search_card():
"""搜索名片"""
print("-" * 50)
print("搜索名片")
验证:
2、代码优化(字典中键与值名称,相同不好区分,我们给值的变量后加str)
3、 显示全部
vim cards_tools.py
验证:
4、判断是否存在名片记录,没有,提示用户并返回
vim cards_tools.py
验证:
5、查询名片功能实现
验证:
6、准备处理名片函数(定义处理函数)
7、增加分支判断用户操作类型
验证:
8、删除名片
验证:
9、修改名片
验证:
10、优化修改名片功能,添加“回车不修改功能”
验证:
11、增加注释
总结
1.注意格式必须正确
2.适当增加注释,利于优化与排错
3.全部代码上传到了CSDNPython名片管理系统代码