def print_menu():
"""打印菜单"""
print ("="*50)
print ("1. 添加新的名片")
print ("2. 删除一个名片")
print ("3. 修改一个名片 ")
print ("4. 查询一个名片")
print ("5. 显示所有名片")
print ("6. 退出系统")
print("=" * 50) def add_user():
global card_infors
userName = input("请输入一个名字:")
userQq = input("请输入一个qq号:")
userWechat = input("请输入微信号:")
userAddr = input("请输入地址:")
# 定义新的字典存放输入的信息
user_info = {}
user_info["name"] = userName
user_info["userqq"] = userQq
user_info["userWechat"] = userWechat
user_info["userAddr"] = userAddr
# 将字典存入到列表里面
card_infors.append(user_info) def find_user():
find_name = input("请输入需要查找的名字:")
find_flag = 0 # 默认没有找到
for temp in card_infors:
if temp["name"] == find_name:
print("姓名\tQQ\t微信\t地址")
print("%s\t%s\t%s\t%s" % (
temp['name'], temp['userqq'], temp['userWechat'], temp['userAddr']))
find_flag = 1
break
if find_flag == 0:
print("查无此人。。。。。") def print_all_user():
print("姓名\tQQ\t微信\t地址")
for temp in card_infors:
print("%s\t%s\t%s\t%s" % (
temp['name'], temp['userqq'], temp['userWechat'], temp['userAddr'])) def main():
print_menu()
while True :
#获取用户输入
try:
num = int(input("请输入需要的操作:"))
except ValueError:
# except Exception:
print("输入错误,请重新输入(1.2.3.4.5.6)")
continue
except IndexError:
print("请输入一个有效值:(1.2.3.4.5.6)")
continue
#根据用户的数据执行相应的功能
if num == 1:
add_user()
elif num == 2:
pass
elif num == 3:
pass
elif num == 4:
find_user()
elif num == 5:
print_all_user()
elif num == 6:
break
else:
print("输入有误!") # 片用来存储名
card_infors = []
#调用main函数
main()

Python脚本----打印菜单的更多相关文章

  1. C#调用Python脚本打印pdf文件

     介绍:通过pdf地址先将文件下载到本地,然后调用打印机打印,最后将下载的文件删除. 环境:windows系统.(windows64位) windows系统中安装python3.6.2环境 资料: O ...

  2. Python--day69--pythonDjango终端打印SQL语句、在Python脚本中调用Django环境

    Django终端打印SQL语句 在Django项目的settings.py文件中,在最后复制粘贴如下代码: LOGGING = { 'version': 1, 'disable_existing_lo ...

  3. 【Linux_Shell 脚本编程学习笔记二、打印菜单】

    综合实例: 打印选择菜单,一键安装Web服务 [root@zuoyan   script]# sh menu.sh 1.[install  lamp] 2. [install lnmp] 3. [ex ...

  4. Python脚本控制的WebDriver 常用操作 <六> 打印当前页面的title及url

    下面将使用WebDriver来答应浏览器页面的title和访问的地址信息 测试用例场景 测试中,访问1个页面然后判断其title是否符合预期是很常见的1个用例: 假设1个页面的title应该是'hel ...

  5. 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

    http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...

  6. Python脚本之三种运行方式,你会几个?

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:Jeremy_Lee123  一.交互模式下执行 Python 这种模式 ...

  7. linux+php+apache web调用python脚本权限问题解决方案

    lamp : linux + apache + mysql + php 在上篇随笔中linux+php+apache调用python脚本时出现的问题的根本原因是:apache运行时使用的apache用 ...

  8. python打怪之路【第三篇】:利用Python实现三级菜单

    程序: 利用Python实现三级菜单 要求: 打印省.市.县三级菜单 可返回上一级 可随时退出程序 coding: menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{}, ' ...

  9. PHP 调用Python脚本

    上次做用户反馈自动翻译,写了个python脚本,将日文的用户反馈翻译成中文,效果虽然可以,但其它不懂python的童鞋就没法使用了,所以搭了个web服务,让其他人可以通过网页访问查询.使用的是apac ...

随机推荐

  1. async-validator 源码学习(一):文档翻译

    async-validator 是一个表单异步校验库,阿里旗下的 Ant-design 和 Element 组件库中的表单验证使用的都是 async-validator ,目前版本已更新到 4.0.7 ...

  2. 【黑马程序员C++ STL】学习记录

    黑马程序员 2017 C++ STL 教程(STL 部分已完结) 基于黑马STL课程整理:黑马程序员2017C++STL教程 视频链接 专栏:本STL专栏目录 文章目录 黑马程序员 2017 C++ ...

  3. 1357:车厢调度(train) ybt

    1357:车厢调度(train) [题目描述] 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合.假设从A方向驶来的火车有nn节(n≤1000n≤1000),分别 ...

  4. python中的super是什么?

    技术背景 python中的super,名为超类,可以简单的理解为执行父类的__init__函数.由于在python中不论是一对一的继承,还是一子类继承多个父类,都会涉及到执行的先后顺序的问题.那么本文 ...

  5. 关于OAuth2.0 Authorization Code + PKCE flow在原生客户端(Native App)下集成的一点思考

    写在前面 前几天看了园友的一篇文章被广泛使用的OAuth2.0的密码模式已经废了,放弃吧 被再次提起: Implicit Flow Password Grant,均已被标记为Legacy,且OAuth ...

  6. sqli-labs下载与安装

    Sqli-labs 下载 Sqli-labs是一个印度程序员写的,用来学习sql注入的一个游戏教程. 博客地址为:http://dummy2dummies.blogspot.hk/, 博客当中有一些示 ...

  7. sublime settings

    { "font_face": "Monaco", // 编辑器的字体 "font_size": 13, // 字号 "highli ...

  8. IIS将应用程序池配置为在计划时间执行回收 (IIS 7)

    将应用程序池配置为在计划时间执行回收 您可以通过以下方法执行此过程:使用用户界面 (UI).在命令行窗口中运行 Appcmd.exe 命令.直接编辑配置文件或编写 WMI 脚本. 如下只介绍用户界面U ...

  9. 一个关于wait/notify与锁关系的探究

    wait/notify 机制是解决生产者消费者问题的良药.它的核心逻辑是基于条件变量的锁机制处理.所以,它们到底是什么关系?wait()时是否需要持有锁? notify()是否需要持有锁?先说答案:都 ...

  10. SpringBoot:自定义注解实现后台接收Json参数

    0.需求 在实际的开发过程中,服务间调用一般使用Json传参的模式,SpringBoot项目无法使用@RequestParam接收Json传参 只有@RequestBody支持Json,但是每次为了一 ...