python-名片管理系统(附代码)

公共方法-四个都适合的方法(基础)

  • 字典不可以使用>符号进行比较,不能比较大小在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
  • 加号会生成一个新的列表变量,extend和append方法的区别如下

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

简单页面管理系统完整代码

  • main函数
import tools
"""
写程序,第一步搭建框架
使用模块化搭建
"""
while True:
    # 按下ctrl+q查询返回值是什么类型
    print("")
    tools.show_menu()
    action_str = input("请输入你想进行的操作")
    if action_str in ["1","2","3"]:
        if action_str == "1":
            tools.new_card()
        elif action_str == "2":
            tools.show_all()
        elif action_str == "3":
            tools.search_card()
    # in是成员运算符
    elif action_str == "0":
        break
        # pass
    else:
        print("你的输入不正确,请重新输入")
# TODO(星) 显示界面
# 使用pass语句可以先保证结构不会出问题
  • tools功能函数
# 程序就是用来处理数据的,框架搭建好之后先考虑数据使用什么格式存储
car_list = []
# 菜单显示
def show_menu():
    print("*" * 50)
    print("欢迎使用名片管理系统")
    print("1.新建名片")
    print("2.显示全部")
    print("3.查询名片")
    # print函数默认会有一个换行,所以这里是空
    print("")
    print("0.退出系统")
    print("*" * 50)

# 新建名片
def new_card():
    # 1.输入信息
    name_str = input("请输入姓名")
    phone_str = input("请输入电话")
    qq_str = input("请输入qq")
    email_str = input("请输入邮箱")
    # 2.创建信息,可以使用重命名对代码进行整体修改
    studentinfo = {
        "name":name_str,
        "phone":phone_str,
        "qq":qq_str,
        "email":email_str
    }
    # 3.添加信息,使用append添加是一个字典,extend在字典添加这里不行
    car_list.append(studentinfo)
    # 4.打印信息
    print(car_list)
#
#显示全部
def show_all():
    # 假如用户没有创建名片,提示用户先创建名片,不执行下面的代码
    if len(car_list) == 0:
        print("没有添加名片,请先添加!")
        return
    # 1.打印表头
    for head in ["姓名","电话","qq","邮箱"]:
        print(head,end="\t\t")
    print("")
    # 2.打印分割线
    print("=" * 50)
    # 3.打印内容
    for info in car_list:
        # 使用下面这种写法也可以
        # print("%s\t\t%s\t\t%s\t\t%s\t\t" % (info["name"],info["phone"]))
        print(info["name"],end="\t\t")
        print(info["phone"],end="\t\t")
        print(info["qq"],end="\t\t")
        print(info["email"],end="\t\t")
        print("")

#查询名片
def search_card():
    # 输入想要查询的名字
    serch_name = input("请输入想要查询到姓名")

# 如果查到了,打印输出,没有的话,提示没有找到
    for  info in car_list:
        if(info["name"] == serch_name):
            print("找到啦")
            print("姓名\t\t电话\t\tqq\t\t邮箱\t\t")
            print("-" * 50)
            print("%s\t\t%s\t\t%s\t\t%s\t\t" % (info["name"], info["phone"],info["qq"],info["email"]))
            # 名片处理函数
            deal_card(info)
            # 将break写在外面,if找到之后出来还是会执行,所以下面的不会执行
            break
    #  只有当for循环遍历完,没有使用break跳出,才会执行下面的else
    else:
        print("没有找到%s"%serch_name)

def deal_card(find_card):
    """处理查找到的信息
    :param find_card: 查找到的信息
    """
    print(find_card)
    action_str = input("请输入要执行的操作 "
                       "【1】修改 【2】删除 【0】返回主菜单")
    if action_str == "1":
        """"
        find_card["name"] = input("姓名:")
        find_card["phone"] = input("电话:")
        find_card["qq"] = input("qq:")
        find_card["email"] = input("邮箱 ")
        """
       # 使用input输入怎么判断是回车还是输入了
        find_card["name"] = new_input( find_card["name"],"姓名[按下回车不修改]:")
        find_card["phone"] = new_input(find_card["phone"],"电话[按下回车不修改]:")
        find_card["qq"] = new_input( find_card["qq"],"qq[按下回车不修改]:")
        find_card["email"] = new_input(find_card["email"],"邮箱[按下回车不修改]:")
        print("修改名片成功")
    elif action_str == "2":
        # 使用remove方法删除名片
        car_list.remove(find_card)
        print("删除名片成功")


def new_input(find_card,message):
    """[按下回车不修改]
    :param find_card: 原来查找到的信息
    :param message: 提示信息
    :return: 输入了值就返回值,没有输入返回原来的值
    """
    # 提示输入信息
    result_str = input(message)
    # 如果输入了则修改
    if len(result_str) > 0:
        return result_str
    #没输入则返回原来的值
    else:
        return find_card

简单页面
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值