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

需求

  1. 程序启动,显示欢迎界面和功能菜单
  2. 以数字选择不同功能
  3. 根据选择,执行不同功能
  4. 名片需要记录用户:姓名、电话、qq、邮箱
  5. 查询指定的名片,用户可选择删除或修改
  6. 使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名片管理系统代码

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Friends of the wind

您的是我坚持原创免费作品的不懈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值