需求

  1. 程序启动,显示欢迎界面和功能菜单
  2. 以数字选择不同功能
  3. 根据选择,执行不同功能
  4. 名片需要记录用户:姓名、电话、qq、邮箱
  5. 查询指定的名片,用户可选择删除或修改
  6. 使Python程序直接能运行

显示界面如下图:理念学自网络,感谢老师的支持

太赞了!国庆节用python玩出个名片管理系统_linux


搭建框架

目标:
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("输入错误,重选")

太赞了!国庆节用python玩出个名片管理系统_开发语言_02


执行:

太赞了!国庆节用python玩出个名片管理系统_开发语言_03


报错处理:不是期望的值,可能代码错误,但是代码并没错误

太赞了!国庆节用python玩出个名片管理系统_开发语言_04


解决:原来,以这种形式执行,需要声明运行环境,否则,它会以默认环境运行,不匹配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("输入错误,重选")

太赞了!国庆节用python玩出个名片管理系统_小程序_05


验证:

太赞了!国庆节用python玩出个名片管理系统_linux_06


5、判断用户操作,预留代码位置

增加代码:

太赞了!国庆节用python玩出个名片管理系统_程序设计_07

#! /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文件

太赞了!国庆节用python玩出个名片管理系统_linux_08


添加以下函数代码:

太赞了!国庆节用python玩出个名片管理系统_linux_09

#! /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

太赞了!国庆节用python玩出个名片管理系统_python_10

#! /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("输入错误,重选")

验证:

太赞了!国庆节用python玩出个名片管理系统_程序设计_11


7、准备名片操作函数并修改主文件调用函数

vim cards_tools.py

新增三种函数

太赞了!国庆节用python玩出个名片管理系统_程序设计_12

#! /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

太赞了!国庆节用python玩出个名片管理系统_程序设计_13

#! /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("输入错误,重选")

验证:

太赞了!国庆节用python玩出个名片管理系统_开发语言_14


保存数据的结构

太赞了!国庆节用python玩出个名片管理系统_linux_15

分析:使用字典记录每张名片的详细信息;列表统一记录所有名片字典

vim cards_tools.py

添加一行代码即可

太赞了!国庆节用python玩出个名片管理系统_python_16


定义功能

1、 新增名片功能

vim cards_tools.py

太赞了!国庆节用python玩出个名片管理系统_程序设计_17

#! /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("搜索名片")

验证:

太赞了!国庆节用python玩出个名片管理系统_linux_18


2、代码优化(字典中键与值名称,相同不好区分,我们给值的变量后加str)

太赞了!国庆节用python玩出个名片管理系统_python_19

3、 显示全部

vim cards_tools.py

太赞了!国庆节用python玩出个名片管理系统_python_20


验证:

太赞了!国庆节用python玩出个名片管理系统_开发语言_21


4、判断是否存在名片记录,没有,提示用户并返回

vim cards_tools.py

太赞了!国庆节用python玩出个名片管理系统_程序设计_22

验证:

太赞了!国庆节用python玩出个名片管理系统_linux_23


5、查询名片功能实现

太赞了!国庆节用python玩出个名片管理系统_linux_24

验证:

太赞了!国庆节用python玩出个名片管理系统_linux_25


6、准备处理名片函数(定义处理函数)

太赞了!国庆节用python玩出个名片管理系统_开发语言_26


7、增加分支判断用户操作类型

太赞了!国庆节用python玩出个名片管理系统_python_27


验证:

太赞了!国庆节用python玩出个名片管理系统_linux_28


8、删除名片

太赞了!国庆节用python玩出个名片管理系统_程序设计_29

验证:

太赞了!国庆节用python玩出个名片管理系统_程序设计_30


9、修改名片

太赞了!国庆节用python玩出个名片管理系统_linux_31


验证:

太赞了!国庆节用python玩出个名片管理系统_开发语言_32


10、优化修改名片功能,添加“回车不修改功能”

太赞了!国庆节用python玩出个名片管理系统_小程序_33


验证:

太赞了!国庆节用python玩出个名片管理系统_程序设计_34


11、增加注释

太赞了!国庆节用python玩出个名片管理系统_小程序_35


太赞了!国庆节用python玩出个名片管理系统_开发语言_36

太赞了!国庆节用python玩出个名片管理系统_小程序_37

总结

1.注意格式必须正确
2.适当增加注释,利于优化与排错
3.全部代码上传到了CSDN​​Python名片管理系统代码​​