Python实战之实现简单的名片管理系统
作者:奈落~ 发布时间:2023-07-18 06:48:02
一、前言
实现名片管理系统,首先要创建两个python file ,分别是cards_main.py和cards_tool.py,前一个是主代码块的实现,后一个是提供主代码块所调用的函数
二、主代码块的实现
import cards_tool as ct #导入cards_tool文件,简称ct,以便调用其中的函数
while True:
ct.show_menu()
num=int(input("请选择操作功能:"))
print(f"您选择的操作是[{num}]")
if num==0:
break
elif num==1:
ct.creat_card()
elif num==2:
ct.show_cards()
elif num==3:
ct.search_card()
else:
print("对不起,你输入的有误,请重新输入")
print("欢迎再次使用名片管理系统!")
三、主界面的显示
注:show_menu()是实现菜单功能,creat_card()是实现创建名片功能, show_cards()是实现展示所有名片功能,search_cards()是实现查询名片功能,通过用户输入的数字进行对应功能的实现,为了让函数不只执行一次,故放在while循环语句中,只有当用户输入0才能退出系统
四、菜单功能的实现
def show_menu():
print("*"*50)
print("欢迎使用[名片管理系统]")
print("1.新建名片")
print("2.显示全部")
print("3.查询名片")
print("0.退出系统")
print("*"*50)
五、创建名片功能的实现
def creat_card():
print("-"*50)
print("功能:新增名片")
name=input("请输入姓名:")
number=input("请输入电话号码:")
qq= input("请输入qq:")
card_dict={"name":name,"phone":number,"qq":qq}
cards_list.append(card_dict)
print(f"添加[{name}]的名片成功!")
注:首先要在cards_tool.py文件中创建一个全局变量cards_list = [],用来存储每个名片,每个名片又是一个字典,里面存储的是用户的相关信息
操作过程:
注:每次的操做功能实现后都会回到菜单界面
六、显示所有名片功能的实现
def show_cards():
print("-" * 50)
print("功能:显示所有名片")
if cards_list:
for name in ["name", "number", "qq"]:
print(name,end="\t\t")
print()
print("="*50)
for card_dict in cards_list:
for key in card_dict:
print(f"{card_dict[key]}\t\t\t",end="")
print()
else:
print("暂时没有名片,请使用新建名片功能添加名片!")
注: if语句对cards_list列表是否为空进行了判断,为空会给出提示,不为空,就循环打印列表中的数据
刚刚咱们已经添加了一个姓名为“奈落”的名片,下面我们就显示一下所有名片的信息
七、查询名片功能的实现:
def search_card():
print("-" * 50)
print("功能:查找名片")
name=input("请输入要查找的姓名:")
for card_dict in cards_list:
for key in card_dict:
if card_dict[key]==name:
print("name","phone","qq")
print("=" *50)
print(card_dict["name"],card_dict["phone"],card_dict["qq"],end="\t")
print()
print("=" *50)
deal_card(card_dict)
return
print("该用户不存在!")
操作过程:
注:找到就列出该名片的信息,找不到会给出提示,其中deal_card(card_dict)函数的作用是对名片进行相关的操作,传入一个字典参数,字典存储的是该名片具体信息
八、对名片具体操作的实现
def deal_card(card_dict):
num=int(input("请输入对名片名的操作(1:修改 2.删除 0.返回上级菜单):"))
if num==1:
print("----------------更新名片功能-----------------")
update_card(card_dict)
elif num==2:
print("----------------删除名片功能-----------------")
delete_card(card_dict)
elif num == 0:
return
else:
print("对不起,你输入的有误,请重新输入")
deal_card(card_dict)
注:用户输入相关操作的数字,就会执行对应的函数,update_card(card_dict)是对名片相关信息进行修改,delete_card(card_dict)是对名片进行删除,若输入有误,会给出提示
九、对名片进行修改功能的实现
def update_card(card_dict):
name = input("请输入修改的姓名[按回车键可不修改]:")
number = input("请输入修改的号码[按回车键可不修改]:")
qq = input("请输入修改的qq[按回车键可不修改]:")
if name:
card_dict["name"]=name
if number:
card_dict["phone"]=number
if qq:
card_dict["qq"]=qq
print("恭喜您修改成功!")
注:判断用户输入的信息是否为空,为空对名片中的信息不进行更改,不为空就进行赋值更改信息
现在咱们把刚刚添加的名片,用户名为“奈落”的改为“小奈落”,然后再进行显示名片信息。
操作过程:
十、对名片进行删除功能的实现
def delete_card(card_dict):
result=input("是否删除该名片y/n:")
if result in ["Y","y"]:
cards_list.remove(card_dict)
print("恭喜您,删除成功!")
elif result in ["N","n"]:
return
else:
print("对不起,你输入的有误,请重新输入")
deal_card(card_dict)
现在我们将添加的用户名为小奈落的名片删除,然后再显示全部名片信息
操作过程:
来源:https://blog.csdn.net/m0_45082058/article/details/116108404


猜你喜欢
- 前言有时候我们需要在用户离开页面的时候,做一些上报来记录用户行为。又或者是发送服务器ajax请求,通知服务器用户已经离开,比如直播间内的退房
- 一,extract方法的使用extract函数主要是对于数据进行提取。场景一般对于DataFrame中的一列中的数据进行提取的场合比较多。例
- k-means 聚类算法思想先随机选择k个聚类中心,把集合里的元素与最近的聚类中心聚为一类,得到一次聚类,再把每一个类的均值作为新的聚类中心
- 该章节我们学习虚拟环境的相关知识,虚拟环境对于刚刚使用Python的初学者来说使用的概率可能会比较低。但是我们依然要对它有一定的了解。认识虚
- 【1】MySQL中的日期时间类型MySQL中常用的几种时间类型有:date、datetime、time、year、timestamp数据类型
- 我们需要开始思考如何将文本集合转化为可量化的东西。最简单的方法是考虑词频。我将尽量尝试不使用NLTK和Scikits-Learn包。我们首先
- 序言:php错误就是会使脚本运行不正常的情况。php的错误有很多种,包括warning、notice、deprecated、fetal er
- 本文实例讲述了python实现连接mongodb的方法。分享给大家供大家参考。具体分析如下:通过pymongo可以很容易的链接到mongod
- 1.url encode加密简介:当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见
- 本文范例是书写两个日志:错误日志(ERROR级别)和运行日志(DEBUG级别),其中运行日志每日凌晨进行分割import logging,d
- 这篇文章主要介绍了python的time模块和datetime模块实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参
- 安装破解包:AWVS14.6.220117111破解Win&Linux&Mac.zip网盘链接:https://pan.ba
- 在使用tp5时候把它部署到服务器上发现一个奇葩的事情,就是它默认访问config配置的默认页,无论怎么跳转到其他接口都不好使,最终重写了&n
- 闪回区爆满问题也是经常会遇到的问题,最关键的是闪回设置大小以及归档被默认存放在了闪回目录,恰巧今天又遇到了这个问题,就记录下处理步骤,仅供遇
- CREATE TABLE `category` ( `Id` binary(1
- HTML5之中一个很酷的新特性就是WebSockets,它可以让我们无需AJAX请求即可与服务器端对话。今天彬Go将让大家通过Php环境的服
- 根据SalesOrderID排序,取第16-18行这3条记录。方法一:(最常用的分页代码, top / not in)SELECT &nbs
- 本文介绍了python+opencv像素的加减和加权操作的实现,分享给大家。# 目标:# 1、在图像上进行算术操作,如加减以及按位操作# 2
- 切片:切片指从现有列表中,获取一个子列表返回一个新列表,不影响原列表。下标以 0 开始:list = ['红','绿
- 在做一个在线交流的网站时,有个问题很令我头疼,就是关于实时统计在线用户的问题,客户要求:统计当前在线人数、游客人数、会员人数、在线用户列表,