吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1680|回复: 5
收起左侧

[Python 转载] 名片管理系统学习

[复制链接]
warningAAAA 发表于 2021-8-19 15:41
import cards_tools
while True:

    # TODO(Dr_陈) 显示功能菜单
    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()

    elif action_str == "0":
        # 如果在开发程序时,不希望立刻编写分支内部的代码
        # 可以使用 pass 关键字,表示一个占位符,能够保证程序代码结构正确
        print("希望再次使用【名片管理系统】QAQ")
        break

    # 其他内容输入错误,需要提示用户
    else:
        print("您输入的不正确,请重新选择")
    # 0退出系统

# 记录所有的名片字典card_lsit = []

def show_menu():

    """显示菜单"""
    print("*" * 50)
    print("欢迎使用【名片管理系统】v 1.0")
    print("1. 新增名片")
    print("2. 显示所有")
    print("3. 搜索名片\n")
    print("0. 退出系统")
    print("*" * 50)

def new_card():

    """新增名片"""
    print("-" * 50)
    print("新增名片")

    # 1.提示用户输入名片的详细信息
    name_str = input("请输入姓名:")
    phone_str = input("请输入电话:")
    qq_str = input("请输入QQ:")
    email_str = input("请输入邮箱:")

    # 2.使用用户输入的信息建立一个名片字典
    card_dict = {"name_str": name_str,
                 "phone_str": phone_str,
                 "qq_str": qq_str,
                 "email_str": email_str}

    # 3.将名片字典添加到列表中
    card_lsit.append(card_dict)

    # 4.提示用户添加成功
    print('添加"%s"的名片成功' % name_str)
def show_all():

    """显示所有名片"""
    print("-" * 50)
    print("显示所有名片")

    # 判断是否存在名片记录,如果没有,提示用户并且返回
    if len(card_lsit) == 0:

        print("当前没有任何名片记录,请使用新增名片功能")

        # 如果 return 后面没有任何的内容,表示会返回到调用函数的位置继续执行
        # 并且不会返回任何结果
        return

    # 打印表头
    for name in ["姓名", "电话", "QQ", "邮箱"]:
        print(name, end="\t\t\t")

    # 打印分隔符
    print("")
    print("=" * 50)

    # 遍历名片列表依次输出字典信息
    for card_dict in card_lsit:
        print("%s\t\t\t%s\t\t\t%s\t\t\t%s\t\t\t" % (card_dict["name_str"],
                                                    card_dict["phone_str"],
                                                    card_dict["qq_str"],
                                                    card_dict["email_str"]))

def search_card():

    """搜索名片"""
    print("-" * 50)
    print("搜索名片")

    # 1. 提示用户输入要搜索的内容

    find_name = input("请输入要搜索的姓名:")

    # 2. 遍历名片列表,查询要搜索的姓名,如果没有找到,需要提示用户添加
    for card_dict in card_lsit:

        if card_dict["name_str"] == find_name:
            print("姓名\t\t电话\t\tQQ\t\t邮箱")
            print("=" * 50)
            print("%s\t\t%s\t\t%s\t\t%s\t\t" % (card_dict["name_str"],
                                                        card_dict["phone_str"],
                                                        card_dict["qq_str"],
                                                        card_dict["email_str"]))
            deal_card(card_dict)
            break
    else:

        print("抱歉没有找到%s,请去添加名片" % find_name)

def deal_card(find_dict):

    action_str = input("请选择要执行的操作 "
                       "【1】修改 【2】删除 【0】返回上一级菜单:")

    if action_str == "1":

        find_dict["name_str"] = input_card_info(find_dict["name_str"], "name:")
        find_dict["phone_str"] = input_card_info(find_dict["phone_str", "电话:"])
        find_dict["qq_str"] = input_card_info(find_dict["qq_str"], "QQ:")
        find_dict["email_str"] = input_card_info(find_dict["email_str", "邮箱:"])

        print("修改名片成功")

    elif action_str == "2":

        card_lsit.remove(find_dict)

        print("删除名片成功")

    print(action_str)

def input_card_info(dict_valuse, tip_message):

    # 1.提示用户输入的内容

    result_str = input(tip_message)

    # 2.针对用户的输入进行判断,如果用户输入了内容,直接返回结果
    if len(tip_message) > 0:

        return result_str

    else:

        return dict_valuse

    # 3.如果用户满意输入内容,返回字典中原有的值

    pass

免费评分

参与人数 1吾爱币 +5 热心值 +1 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

老衲不怕和尚 发表于 2021-8-19 16:35
最好将两成品展示一下   不然代码很无聊
cwl 发表于 2021-8-19 16:46
写完了不要浪费啊,就算是学习,再加个本地文本存储就可以用了啊
DoctL 发表于 2021-8-19 16:49
Surrin1999 发表于 2021-8-19 23:39
这。。这不B站上黑马600集里面的一个案例吗。。
 楼主| warningAAAA 发表于 2021-8-20 11:54
Surrin1999 发表于 2021-8-19 23:39
这。。这不B站上黑马600集里面的一个案例吗。。

是的,很多人没有看,这也是根据那个写的,重要的是一个学习的过程
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表