python学习第二天——编写名片
昨天忘记发拉
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学习第二天——编写名片相关推荐
- 开始Python学习第二课(python环境安装)
*** 开始Python学习第二课*** 一. Python语言简介 1. Python语言 1.1 Python的命名 2. Python基本概念 2.1 Python的简单介绍 2.2 Pytho ...
- python学习笔记之编写readConfig读写配置文件
python学习笔记之编写readConfig读写配置文件_weixin_34055910的博客-CSDN博客
- Python学习第二周总结
Python学习第二周总结 第二周主要学了python中几种常见的数据结构,分别是列表.元组.字符串.集合.字典重点就是怎么创建和使用这些数据结构,操作方法更是一定要掌握的. 一.列表 1.1 定 ...
- python学习第二天
python学习第二天 输入 这篇文章我们来讲讲 python是如何进行输入的 先看一下源代码: name = input('请输入你的名字:') #在这里我们定义一个变量name 它的值就是后面in ...
- Python 学习第二课:Python要点
第二课目录 进制 进制之间的转换 进制的计数 计算机中的单位 1.Python 语言 1.1 Python语言的基本概念 1.2 Python的特色 1.3 Python的发展及应用 2. 搭建环境 ...
- (二)Python 学习第二天--爬5068动漫图库小案例
(注:代码和网站仅仅是学习用途,非营利行为,源代码参考网上大神代码,仅仅用来学习?) 效果如下: 代码展示如下 # -*- coding:utf-8 -*import urllib2from bs4 ...
- python学习第二天(list列表和tuple元组)
list列表 标志:[ ],元素可修改 python中的列表与C/C++中的数组相似. 一般定义方式:list_name=[element1,element2-] element可以是字符串.数字.字 ...
- 据廖雪峰python3教程----python学习第二天
输入和输出 用print()在括号中加上字符串,就可以向屏幕输出指定的字符 eg: 1 >>> print('hello, world') print()函数也可以接受多个字符串,字 ...
- python学习第二十八节(进程,线程)
一个进程可以开启多个线程,当线程共用一个数据集的时候,都可以访问一个数据集. 可以省内存空间等等. 一个进程最少会有一个主线程. 线程必须在进程中. 线程是最小的执行单元. 进程是最小的资源管理单元. ...
- python学习第二课要点记录
字典使用时,使用for k,v in items():要将字典转换为元组,因此效率较低,如果数据量较大,就不建议使用这样的形式获取key和value的值,而要使用 for item in dict: ...
最新文章
- sql 2005提示未能加载包Microsoft SQL Management Studio Package
- 北京大学现代农业研究院张华伟实验室招聘启示
- ubuntu下zip文件操作
- ubuntu wireshark 普通用户抓包
- redis 主从模式_Redis主从模式部署文档
- 【白话机器学习】算法理论+实战之LightGBM算法
- 一文带你领略JS中原型链的精妙设计!
- Django (八) 中间件验证码富文本缓存
- RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势...
- 移动通信客户价值数据挖掘分析实战
- 软件配置 | ios系统Clion下载、安装、配置环境
- 爪哇国新游记之三----自创动态数组类
- 国际网页短信系统平台搭建后台功能篇|移讯云短信系统
- cesium入坑 -- 各种API调用与API本身使用的坑
- FANUC数控机床的维修 从原理开始(二)
- oracle 大量trace,Trace文件过量生成问题解决
- mini6410中断控制器-VIC中断控制器
- 武汉理工大学计算机科学导论 复习
- OpenSSL密码库算法笔记——第6.2.1章 ECDSA_SIG结构体
- Oracle查询正在执行的语句、锁表、耗费资源的语句