zoukankan      html  css  js  c++  java
  • 基础DAY5-名片管理系统

    01 框架搭建

    准备文件,确定文件名,保证能够在需要的位置编写代码

    编写主运行循环,实现基本的用户输入和判断

    1.1 文件准备

    1cards_main.py保存主程序功能代码

     程序入口

     每一次启动名片管理系统都通过main这个文件启动

    2新建cards_tools.py保存所有名片功能参数

     将对名片的新增,查询,修改,删除等功能封装在不同的函数中

    while True:
    # TODO 显示功能菜单
    print("您选择的操作是【%s】" % action_str)
    # TODO 1,2,3针对名片的操作
    if action_str in ["1", "2", "3"]:
        pass
    # 0 退出系统
    elif action_str == "0":
        print(“欢迎再次使用”)
        break
    # 其他内容输入错误,提示用户
    else:
    print("您输入的不正确,请重新选择")

    字符串判断  if action_str in ["1", "2", "3"]:

    无限循环  while True:

    占位符  pass

    TODO注释  用于标记需要去做的工作 变蓝加粗

     1 while True:
     2     import cards_tools
     3     cards_tools.show_menu()
     4     action_str = input("请选择希望执行的操作:")
     5     print("您选择的操作是【%s】" % action_str)
     6     # 1,2,3针对名片的操作
     7     if action_str in ["1", "2", "3"]:
     8         #  新增名片
     9         if action_str == "1":
    10             cards_tools.new_card()
    11         #  显示全部
    12         elif action_str == "2":
    13             cards_tools.show_all()
    14         #  查询名片
    15         elif action_str == "3":
    16             cards_tools.search_card()
    17     # 0 退出系统
    18     elif action_str == "0":
    19         print("欢迎再次使用名片管理系统")
    20         # 如果在开发程序时,不希望立刻编写分支内部的代码
    21         # 可以使用pass 关键字,表示一个占位符,能够保证程序的代码结构正确
    22         # 程序运行时,pass 关键字不会执行任何操作
    23         break
    24     # 其他内容输入错误,提示用户
    25     else:
    26         print("您输入的不正确,请重新选择")
    cards_main
      1 # 变量记录所有的名片字典
      2 card_list = []
      3 
      4 def show_menu():
      5     print("*" * 50)
      6     print("欢迎使用【名片管理系统】V1.0")
      7     print("1、新建名片")
      8     print("2、显示全部")
      9     print("3、查询名片")
     10     print("")
     11     print("0、退出系统")
     12     print("*" * 50)
     13 def new_card():
     14     """新增名片"""
     15     print("-" * 50)
     16     print("新增名片")
     17     # 1。提示用户输入名片的详细信息
     18     name_str = input("请输入姓名:")
     19     phone_str = input("请输入电话:")
     20     qq_str = input("请输入QQ:")
     21     email_str = input("请输入邮件:")
     22     # 2 .使用用户输入的信息建立一个名片字典
     23     card_dict = {"name": name_str,
     24                  "phone": phone_str,
     25                  "qq": qq_str,
     26                  "email": email_str
     27                 }
     28     # 3.将名片字典加入列表
     29     card_list.append(card_dict)
     30     print(card_list)
     31     # 4.提示用户添加陈宫
     32     print("添加%s的名片成功!"% name_str)
     33 def show_all():
     34     """显示所有名片"""
     35     print("-" * 50)
     36     print("显示所有名片")
     37     # 打印表头
     38     if len(card_list) == 0:
     39         print("当前没有记录,请使用新增功能")
     40         # return 可以返回一个函数的执行结果
     41         # 下方的代码不会被执行,返回调用函数的位置
     42         # 不返回任何结果
     43         return
     44     for name in ["姓名", "电话", "QQ", "邮箱"]:
     45         print(name,end="		")
     46     print("")
     47     # 打印分割线
     48     print("-" * 100)
     49     # 遍历名片列表 依次输出字典
     50     for card_dict in card_list:
     51         print("%s		%s		%s		%s		" % (card_dict["name"],
     52                                             card_dict["phone"],
     53                                             card_dict["qq"],
     54                                             card_dict["email"],
     55                                             ))
     56 def search_card():
     57     """搜索名片"""
     58     print("-" * 50)
     59     print("搜索名片")
     60     # 1、提示用户输入要搜索的姓名
     61     find_name = input("请输入要搜索的姓名:")
     62     # 2、遍历名片列表,查询要搜索的姓名
     63     for card_dict in card_list:
     64         if card_dict["name"] == find_name:
     65             print("找到了")
     66             print("姓名		电话		QQ		邮箱")
     67             print("-" * 100)
     68             print("%s		%s		%s		%s		" % (card_dict["name"],
     69                                                 card_dict["phone"],
     70                                                 card_dict["qq"],
     71                                                 card_dict["email"],
     72                                                 ))
     73             # 修改 删除功能
     74             deal_card(card_dict)
     75             break
     76     # 3、如果没有找到需要提示用户
     77     else:
     78         print("没有找到%s" % find_name)
     79 def deal_card(find_dict):
     80     """处理查找到的名片
     81 
     82     :param find_dict:
     83     """
     84     print(find_dict)
     85     action_str = input("【1】 修改 "
     86                        "【2】 删除 "
     87                        "【3】 返回")
     88     if action_str == "1":
     89         find_dict["name"] = input_card_info(find_dict["name"],"修改姓名【回车不修改】")
     90         find_dict["phone"] =input_card_info(find_dict["phone"],"修改电话【回车不修改】")
     91         find_dict["qq"] = input_card_info(find_dict["qq"],"修改QQ【回车不修改】")
     92         find_dict["email"] = input_card_info(find_dict["email"],"修改邮件【回车不修改】")
     93         print("修改名片成功")
     94     elif action_str == "2":
     95         card_list.remove(find_dict)
     96         print("删除名片")
     97 def input_card_info(dict_value,tip_message):
     98     """输入名片信息
     99 
    100     :param dict_value:字典中原有值
    101     :param tip_message: 输入的提示文字
    102     :return: 如果用户输入的内容 就返回内容 否则返回字典中原有的值
    103     """
    104     # 1 提示用户输入内容
    105     result_str = input(tip_message)
    106     # 2 针对用户输入进行判断,如果输入了内容,直接返回结果
    107     if len(result_str) > 0:
    108         return result_str
    109     # 2 如果用户没有输入内容,返回字典中原有的值
    110     else:
    111         return dict_value
    card_tool
  • 相关阅读:
    Java:多线程<一>
    Java:Exception
    Java: 内部类
    Ubuntu安装jdk
    ubuntu搜狗拼音安装
    录音-树莓派USB摄像头话筒
    leetcode 最小栈
    leetcode 编辑距离 动态规划
    leetcode 最小覆盖字串
    leetcode 最长上升子序列 动态规划
  • 原文地址:https://www.cnblogs.com/joycezhou/p/11333286.html
Copyright © 2011-2022 走看看