首页 > 编程语言 >python-名片管理

python-名片管理

时间:2023-12-06 22:33:51浏览次数:40  
标签:名片 name temp 管理 python lst print input card

完整代码:

# -*- coding: utf-8 -*-
#导入模块
import param

import cards_tools
while True:
    # 显示系统菜单
    cards_tools.show_menu()

    action = input("请选择操作功能:")
    print("您的选择操作是:%s" % action) #不带分号

    #根据用户的输入进行后续的操作
    if action in ["1","2","3","4"]:
        if action == "1":
            cards_tools.show_all()
        elif action == "2":
            cards_tools.add_card()
        elif action == "3":
            cards_tools.search_card()
        elif action == "4":
            cards_tools.delete_card()

    elif action == "0":
        print("欢迎再次使用")
        break
    else:
        print("输入错误,请重新输入")

# -*- coding: utf-8 -*-
#所有名片记录列表
card_lst = []
#功能目录
def show_menu():
    """显示菜单"""
    print("_"*50)
    print("欢迎使用名片管理系统")
    print("")
    print("1.显示全部")
    print("2.添加名片")
    print("3.查询名片")
    print("4.删除名片")
    print("")
    print("0.退出系统")
    print("_"*50)
#添加
def add_card():
    """新建名片"""
    print("_" *50)
    print("新建名单")

    #1、提示用户一次输入名片信息
    name = input("请输入姓名:")
    phone = input("请输入电话:")
    qq = input("请输入qq号码:")
    email = input("请输入邮箱:")
    #2、将名片信息保存到一个字典中
    new_card = {"name":name,
                 "phone":phone,
                 "qq":qq,
                 "email":email
                 }
    #3、将用户字典添加到列表中
    global card_lst
    card_lst.append(new_card)
    print(card_lst)
    #4、提示添加成功
    print("成功添加 %s 的名片 " % new_card["name"])
#查询
def show_all():
    """显示全部"""
    print("_"*50)
    print("显示全部")
    global card_lst
    #1、判断是否有名片记录
    if len(card_lst) == 0:
        print("提示:没有任何记录")
    else:
        # 打印表头
        for name in ["姓名", "电话", "qq邮箱", "邮箱"]:
            print(name, end="\t\t")
        print("")
        # 打印分割线
        print("_" * 50)
        for card_dict in card_lst:
            print(
                f"%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"]))
        return
#搜索
def search_card():
    global card_lst
    #1、提示用户输入要搜索的姓名
    find_name = input("请输入要搜索的姓名:")
    #2、遍历字典
    for temp in card_lst:
        if find_name == temp["name"]:
            print("%s--%s--%s--%s"  %temp["name"],temp["phone"],temp["qq"],temp["email"])
            break
        else:
            print("对不起,没找到 %s" %find_name)
#删除
def delete_card():
    global card_lst
    show_all()
    del_name = input("请输入要删除的姓名:")
    for temp in card_lst:
        if  del_name == temp["name"]:
            card_lst.remove(temp)
            break
    print("% 名片已经删除成功" %temp["name"])
#修改
def modify_card():
    global card_lst
    mod_name = input("请输入要修改的名字:")
    for temp in card_lst:
        if mod_name == temp["name"]:
            temp["name"] = input("请输入新的姓名:")
            temp["phone"] = input("请输入电话:")
            temp["qq"] = input("qq")
            temp["email"] = input("email")
            print("修改完成")
            return
    print("查无此人")

 

标签:名片,name,temp,管理,python,lst,print,input,card
From: https://www.cnblogs.com/zp513/p/17880687.html

相关文章

  • python连接mysql、oracle数据库
    python版本:3.10.5mysql版本:8.0.27oracle版本:oracle12c一、python连接mysql数据库安装第三方依赖PyMySQL,终端执行如下命令:pipinstallPyMySQLPyMySQL使用importpymysqlconfig={'host':'127.0.0.1','port':3306,'u......
  • python的基础1
    基础笔记1.int转整数的时候不能转字符串:int('123'),这样会直接报错。但是使用flost的时候是可以转成小数的,但是也只能是由数字组合的字符串才可以,里面不能包含除了数字之外的所有的字符2.相除的时候,有小数点的是用/,不需要小数的时候使用//(小数点后的直接舍弃)3.全部转换为大写,判......
  • 【Python】【OpenCV】凸轮廓和Douglas-Peucker算法
    针对遇到的各种复杂形状的主体,大多情况下,我们可以求得一个近似的多边形来简化视觉图像处理,因为多边形是由直线组成的,这样就可以准确的划分区域来便捷后续的操作。 cv2.arcLength()Method:参数:curve:要计算周长的轮廓,可以是一个矩形、圆形、多边形等封闭曲线。closed:一个布尔......
  • python中级之异常处理
    什么是异常##异常是程序运行时可能发生的错误或意外情况##本篇博客主要写的是异常相关知识,在Python代码的编写过程中经常会出现异常,一般情况下程序员都叫做出BUG了,这个BUG就是臭虫的意思,表示程序出臭虫了。当然很多时候我们也戏称“无BUG,不编程”。异常的分类-内......
  • python异常处理
    【一】什么是异常异常是程序运行时可能发生的错误或意外情况。在Python中,异常是一种对象,表示程序执行期间发生的错误。当出现异常时,程序的正常流程会被中断,而是跳转到异常处理流程。【1】BaseException(所有异常的基类)SystemExit:解释器请求退出KeyboardInterrupt:用户中......
  • python中级之深浅拷贝
    深浅拷贝异同相同点:无论深拷贝还是浅拷贝都会创建一个新对象。即:拷贝出来的对象的id不同。不同点:浅拷贝:只拷贝了对象,对象内的元素并不会发生拷贝。深拷贝:不仅拷贝对象,对象内的元素也会发生拷贝。浅拷贝浅拷贝举例来看一个浅拷贝的例子:importcopya=[1,2,[3,4]]......
  • 大白话说Python+Flask入门(六)Flask SQLAlchemy操作mysql数据库
    写在前面这篇文章被搁置真的太久了,不知不觉拖到了周三了,当然,也算跟falsk系列说再见的时候,真没什么好神秘的,就是个数据库操作,就大家都知道的CRUD吧。FlaskSQLAlchemy的使用1、FlaskSQLAlchemy简介FlaskSQLAlchemy是基于Flaskweb框架和SQLAlchemyORM(对象关系映射)的工具......
  • HydroOJ 从入门到入土(3)权限管理
    管理OJ就是管理资源,管理资源就是管理权限.HydroOJ的用户权限使用位运算,所以看起来比较奇怪.权限管理分两块:系统权限和域权限,这两个是分开的.1.系统权限(控制面板->用户权限)装完系统设置好超级管理员之后,该用户自动root权限(所有权限).guest是未注册用户......
  • 【python基础之数据类型的内置方法】--- 数据类型的内置方法
    title:【python基础之数据类型的内置方法】---数据类型的内置方法date:2023-12-0120:54:06updated:2023-12-0620:30:00description:【python基础之数据类型的内置方法】---数据类型的内置方法cover:https://home.cnblogs.com/u/dream-ze/【一】八大基......
  • linux存储管理
    linux存储管理 Linux存储管理在系统维护中至关重要。其核心是文件系统的管理和存储资源的有效利用。通过命令行或图形化工具,Linux提供了多种方式管理存储。分区、格式化和挂载是基础步骤,可以使用fdisk、mkfs和mount等命令进行。同时,LVM(逻辑卷管理)允许动态调整分区大小。定期清......