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
猜你喜欢
- YAML是一种直观的能够被电脑识别的的数据序列化格式,容易被人类阅读,并且容易和脚本语言交互。YAML类似于XML,但是语法比XML简单得多
- 1.什么是装饰器?要理解什么是装饰器,您首先需要熟悉Python处理函数的方式。从它的观点来看,函数和对象没有什么不同。它们有属性,可以重新
- 一. 输出函数print在python中,print()是可以直接使用的输出函数,将数据输出到控制台上。1. print函数的使用1.1 可
- 代码如下:'===================================== '获取内容中所有图片 '==
- 常用时间转换及处理函数:import datetime# 获取当前时间d1 = datetime.datetime.now()print d
- 本文实例讲述了Python素数检测的方法。分享给大家供大家参考。具体如下:因子检测:检测因子,时间复杂度O(n^(1/2))def is_p
- 用IIS调试ASP程序时,有的页面可以显示出错行及出错原因,虽然原因不是很具体但足以引导调试程序,但有些时候就直接出现:HTTP 500 -
- 首先,我们先来看看,如果是人正常的行为,是如何获取网页内容的。(1)打开浏览器,输入URL,打开源网页(2)选取我们想要的内容,包括标题,作
- 在php中使用Xajax能够即时与数据库发生交互带给用户更好的体验主要的应用有网页的即时、不刷新的登录系统也可以利用于注册系统中即时验证用户
- 对于PHP的逐渐流行,我们有目共睹:无论是BLOG程序中的WordPress,还是CMS程序中的DEDECMS,还是BBS程序中的Discu
- 两年前,我们开发了一套基于Flash的文件(主要是图片)上传RIA应用,提供给阿里巴巴的用户使用。如果你使用过Wordpress或flick
- 一:修改文件上传语言为PHP 打开fckconfig.js 找到: var _FileBrowserLanguage = 'asp&
- 我们可使用Haskeys属性判别每个条目是否为一个集合,遍历完整的Request.Cookies集合,以来取得所有cookie的列表及其值:
- 第一步:首先定义一个视图函数,用于提供数据,实现每页显示数据个数,返回每页请求数据from django.shortcuts import
- IIS上设置301 跳转相信大家都会,只要在网站-属性-主目录里 选择重定向URL就行了,这样整站就跳转到目标站点了,但是有个问
- 1.用一个栈【python中可以用List】就可以解决,时间和空间复杂度都是O(n)# -*- coding: utf8 -*-# 符号表S
- background-clip 和 background-origin 是 CSS3 中新加的 background module 属性,用
- 1 为什么需要防抖和节流在前端开发当中,有些交互事件,会被频繁触发,这样会导致我们的页面渲染性能下降,如果频繁触发接口调用的话,会直接导致服
- 使用PHP GD,使用良好,一键剪裁各种尺寸,打包下载。经常换icon的懂的,美工给你一个1024的logo,你得ps出各种尺寸,于是有了这
- 在网上查了部分资料但是发现粘上去的代码都存在问题,无奈只好自己修改了一下,代码如下: 如下代码能正常运行,都是网上查找资料最后拼凑总结出来的