昨天忘记发拉

1.首先创建主函数,显示菜单,显示不同功能

import cards_tools
#无限循环,由用户决定什么条件停止运行
while True:# 显示功能菜单cards_tools.show_menu()action_str = input("请选择操作功能:")print("你选择的操作是:【%s】" %action_str )#在编写程序时,比如希望不立刻编写内部分支代码,使用pass使运行结果正确#pass起到占位作用if action_str in ["1","2","3"]:#新增名片if action_str == "1":cards_tools .new_card()#显示全部if action_str == "2":cards_tools .show_all()#查询名片if action_str == "3":cards_tools .search_card()elif action_str =="0":print("欢迎再次使用!")breakelse:print("输入不正确,请重新输入")

2.创建实现不同功能的函数

#记录所有名片字典
card_list = []
def show_menu():#显示菜单print("*" * 50)print("")print("欢迎使用【名片管理系统】\n")print("1.新建名片\n""2.显示全部\n""3.查询名片\n""0.退出系统")print("*" * 50)
def new_card():#新增名片print("*"*50)print("新增名片")#提示用户输入名片详细信息name=input("请输入姓名:")tel=input("请输入电话:")QQ=input("请输入qq:")email=input("请输入邮箱:")#使用用户输入信息建立名片字典card_dict={"姓名":name,"电话":tel,"qq":QQ,"邮箱":email}#将名片字典添加到列表中card_list .append(card_dict )print(card_list )#提示用户添加成功print("添加 %s 成功!" % name)
def show_all():#显示全部print("*" * 50)print("显示全部")if len(card_list )==0:print("没有任何名片信息,请输入名片信息!")return#打印表头print("姓名",end="\t\t")print("电话", end="\t\t")print("qq", end="\t\t")print("邮箱", end="\t\t")#打印分割线print("")print("=" * 50)#遍历依次输出字典信息for card_dict in card_list:print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["姓名"],card_dict["电话"],card_dict["qq"],card_dict["邮箱"]))
def search_card():#搜索名片print("*" * 50)print("搜索名片")find_name=input("请输入要搜索姓名:")for card_dict in card_list:if find_name == card_dict["姓名"]:print("找到了")print("姓名\t\t电话\t\tqq\t\t 邮箱")print("%s\t\t%s\t\t%s\t\t%s"% (card_dict["姓名"],card_dict["电话"],card_dict["qq"],card_dict["邮箱"]))deal_card(card_dict)break#TODO 判断是否要删除和修改else:print("抱歉,没有找到%s"% find_name )
def deal_card(find_dict):"""处理查找到的名片:param find_dict: 要查找信息:return: 返回查找结果"""print(find_dict)action_str=input("请输入对名片的操作 ""[1] 修改 [2] 删除 [0] 返回上级")if action_str == "1":print("修改名片")find_dict ["姓名"]=input_info(find_dict["姓名"],"请输入姓名:")find_dict["电话"] = input_info(find_dict["电话"],"请输入电话:")find_dict["qq"] = input_info(find_dict["qq"],"请输入qq:")find_dict["邮箱"] = input_info(find_dict["邮箱"],"请输入邮箱:")print("修改成功!")elif action_str =="2":card_list .remove(find_dict)print("删除成功")
def input_info(dict_value,tip_message):"""输入名片信息:param dict_value: 字典中原有值:param tip_message: 输入的提示文字:return: 如果用户输入内容则返回输入内容,不输入返回原有信息"""#1提示用户输入内容result_str = input(tip_message )#2针对用户输入内容进行判断,如果用户输入内容,直接返回结果if len(result_str )>0:return result_str#3如果用户没有输入内容,返回字典中原有的值else:return dict_value

python学习第二天——编写名片相关推荐

  1. 开始Python学习第二课(python环境安装)

    *** 开始Python学习第二课*** 一. Python语言简介 1. Python语言 1.1 Python的命名 2. Python基本概念 2.1 Python的简单介绍 2.2 Pytho ...

  2. python学习笔记之编写readConfig读写配置文件

    python学习笔记之编写readConfig读写配置文件_weixin_34055910的博客-CSDN博客

  3. Python学习第二周总结

    Python学习第二周总结 ​ 第二周主要学了python中几种常见的数据结构,分别是列表.元组.字符串.集合.字典重点就是怎么创建和使用这些数据结构,操作方法更是一定要掌握的. 一.列表 1.1 定 ...

  4. python学习第二天

    python学习第二天 输入 这篇文章我们来讲讲 python是如何进行输入的 先看一下源代码: name = input('请输入你的名字:') #在这里我们定义一个变量name 它的值就是后面in ...

  5. Python 学习第二课:Python要点

    第二课目录 进制 进制之间的转换 进制的计数 计算机中的单位 1.Python 语言 1.1 Python语言的基本概念 1.2 Python的特色 1.3 Python的发展及应用 2. 搭建环境 ...

  6. (二)Python 学习第二天--爬5068动漫图库小案例

    (注:代码和网站仅仅是学习用途,非营利行为,源代码参考网上大神代码,仅仅用来学习?) 效果如下: 代码展示如下 # -*- coding:utf-8 -*import urllib2from bs4 ...

  7. python学习第二天(list列表和tuple元组)

    list列表 标志:[ ],元素可修改 python中的列表与C/C++中的数组相似. 一般定义方式:list_name=[element1,element2-] element可以是字符串.数字.字 ...

  8. 据廖雪峰python3教程----python学习第二天

    输入和输出 用print()在括号中加上字符串,就可以向屏幕输出指定的字符 eg: 1 >>> print('hello, world') print()函数也可以接受多个字符串,字 ...

  9. python学习第二十八节(进程,线程)

    一个进程可以开启多个线程,当线程共用一个数据集的时候,都可以访问一个数据集. 可以省内存空间等等. 一个进程最少会有一个主线程. 线程必须在进程中. 线程是最小的执行单元. 进程是最小的资源管理单元. ...

  10. python学习第二课要点记录

    字典使用时,使用for k,v in items():要将字典转换为元组,因此效率较低,如果数据量较大,就不建议使用这样的形式获取key和value的值,而要使用 for item in dict: ...

最新文章

  1. sql 2005提示未能加载包Microsoft SQL Management Studio Package
  2. 北京大学现代农业研究院张华伟实验室招聘启示
  3. ubuntu下zip文件操作
  4. ubuntu wireshark 普通用户抓包
  5. redis 主从模式_Redis主从模式部署文档
  6. 【白话机器学习】算法理论+实战之LightGBM算法
  7. 一文带你领略JS中原型链的精妙设计!
  8. Django (八) 中间件验证码富文本缓存
  9. RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势...
  10. 移动通信客户价值数据挖掘分析实战
  11. 软件配置 | ios系统Clion下载、安装、配置环境
  12. 爪哇国新游记之三----自创动态数组类
  13. 国际网页短信系统平台搭建后台功能篇|移讯云短信系统
  14. cesium入坑 -- 各种API调用与API本身使用的坑
  15. FANUC数控机床的维修 从原理开始(二)
  16. oracle 大量trace,Trace文件过量生成问题解决
  17. mini6410中断控制器-VIC中断控制器
  18. 武汉理工大学计算机科学导论 复习
  19. OpenSSL密码库算法笔记——第6.2.1章 ECDSA_SIG结构体
  20. Oracle查询正在执行的语句、锁表、耗费资源的语句

热门文章

  1. Linux 定时执行任务
  2. es7新特性随堂笔记
  3. 有哪些免费批量删除PDF文档的页码的方法
  4. 或是独体字吗_独体字
  5. 最新版国庆头像生成器微信小程序源码
  6. Charles Error Report
  7. Stimulsoft Reports 综合平台2019.x-2020.x
  8. win10笔记本电脑耳机没反应,耳机没声音的解决方法
  9. mbr+bios gpt+uefi_小白安装系统之LEGACY、UEFI、GPT和MBR
  10. WIN7,WIN10,WIN11怎么查看电脑操作系统位数