info = []     #先定义一个空字典
while True: #利用while循环
print(' 1.查看名片') #第一个选项
print(' 2.添加名片') #第二个选项
print(' 3.删除名片') #第三个选项
print(' 4.修改名片') #第四个选项
print(' 5.退出系统') #第五个选项
print('*'*30) #打印出30个*号,有助于执行时区别
choose = input('请选择:').strip() #输入要执行的操作
#查看名片
if choose == '1':
if info: #如果是字典
j = 0 #定义一个变量
info_legth = len(info) #查看字典长度
while j < info_legth:
print('%s.姓名:%s 年龄:%s 电话:%s'%(j,info[j]['name'],info[j]['age'],info[j]['phone']))
j+=1 #%s是占位,后面是对应的格式化操作
else:
print('没有信息')
#添加名片
elif choose == '2':
name = input('name:').strip() #输入名字
age = input('age:').strip() #输入年龄
phone = input('phone:').strip() #输入电话
if name and age and phone: #判断所输入的姓名、年龄、电话信息准确
info.append({ #将输入的信息追加到字典后面
'name':name,
'age':age,
'phone':phone
})
else:
print('请输入正确信息:')
#删除名片
elif choose == '3':
if info:
j = 0
info_legth = len(info)
while j< info_legth:
print('%s.姓名:%s 年龄:%s 电话:%s'%(j,info[j]['name'],info[j]['age'],info[j]['phone']))
j+=1
res = input('请输入要删除的名片:').strip() #定义一个变量,输入要删除的名片
info.remove(info[int(res)]) #将字符串用int转换为整型
print('删除成功!')
#修改名片
elif choose == '4':
if info:
j=0
info_legth = len(info)
while j<info_legth:
print('%s.姓名:%s 年龄:%s 电话:%s'%(j,info[j]['name'],info[j]['age'],info[j]['phone']))
j+=1
res2=input('请输入你要修改的内容:').strip() #定义一个变量,输入想要修改的内容
edit_name=input('姓名(回车不修改):').strip()
edit_age=input('年龄(回车不修改):').strip()
edit_phone=input('电话(回车不修改):').strip
if edit_name:
info[int(res2)]['name']=edit_name
if edit_age:
info[int(res2)]['age']=edit_age
if edit_phone:
info[int(res2)]['phone']=edit_phone
print('修改成功!')
#退出
elif choose == '5':
print('谢谢使用!')
break
else:
print('请正确选择:')

用python写一个名片管理系统的更多相关文章

  1. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  2. 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)

    昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun)到.但是,如果我想, ...

  3. [py]python写一个通讯录step by step V3.0

    python写一个通讯录step by step V3.0 参考: http://blog.51cto.com/lovelace/1631831 更新功能: 数据库进行数据存入和读取操作 字典配合函数 ...

  4. 【Python】如何基于Python写一个TCP反向连接后门

    首发安全客 如何基于Python写一个TCP反向连接后门 https://www.anquanke.com/post/id/92401 0x0 介绍 在Linux系统做未授权测试,我们须准备一个安全的 ...

  5. Python写一个自动点餐程序

    Python写一个自动点餐程序 为什么要写这个 公司现在用meican作为点餐渠道,每天规定的时间是早7:00-9:40点餐,有时候我经常容易忘记,或者是在地铁/公交上没办法点餐,所以总是没饭吃,只有 ...

  6. 用python写一个自动化盲注脚本

    前言 当我们进行SQL注入攻击时,当发现无法进行union注入或者报错等注入,那么,就需要考虑盲注了,当我们进行盲注时,需要通过页面的反馈(布尔盲注)或者相应时间(时间盲注),来一个字符一个字符的进行 ...

  7. python写一个能变身电光耗子的贪吃蛇

    python写一个不同的贪吃蛇 写这篇文章是因为最近课太多,没有精力去挖洞,记录一下学习中的收获,python那么好玩就写一个大一没有完成的贪吃蛇(主要还是跟课程有关o(╥﹏╥)o,课太多好烦) 第一 ...

  8. 用 Python 写一个 NoSQL 数据库Python

    NoSQL 这个词在近些年正变得随处可见. 但是到底 “NoSQL” 指的是什么? 它是如何并且为什么这么有用? 在本文, 我们将会通过纯 Python (我比较喜欢叫它, “轻结构化的伪代码”) 写 ...

  9. python写一个邮箱伪造脚本

    前言: 原本打算学php MVC的思路然后写一个项目.但是贼恶心, 写不出来.然后就还是用python写了个邮箱伪造. 0x01 第一步先去搜狐注册一个邮箱 然后,点开设置,开启SMTP服务. 当然你 ...

随机推荐

  1. 在Linux服务器非root权限下搭建TensorFlow框架(Anaconda)

    今天终于动手折腾实验室的服务器啦!由于权限原因,只能在自己的路径下安装TensorFlow. 1. 下载安装Anaconda 官网下载地址:https://www.anaconda.com/downl ...

  2. css的position属性

    position: relative:保持未定位前的位置不变,若给了left,top的值,那么就会相对于原来的位置进行移动 absolute:元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存 ...

  3. ArrayList类源码解析——ArrayList动态数组的实现细节(基于JDK8)

    一.基本概念 ArrayList是一个可以添加对象元素,并进行元素的修改查询删除等操作的容器类.ArrayList底层是由数组实现的,所以和数组一样可以根据索引对容器对象所包含的元素进行快速随机的查询 ...

  4. JRebel springboot部署idea

    JRebel springboot部署idea     http://127.0.0.1:8888/88414687-3b91-4286-89ba-2dc813b107ce   ctrl+shift+ ...

  5. CentOS7系统上的GPSTK源码安装

    网址:http://www.gpstk.org/bin/view/Documentation/BuildingGPSTkUnderUnix 这里使用Cmake来安装源码,网站上的原文摘抄如下,有少部分 ...

  6. 版本管理工具小乌龟TortoiseGit的安装和使用(1)

    1.软件的安装:1.1 安装 Git使用软件管理工具搜索 Git:

  7. PPT母版制作

    选择母版 首先,去iSlide官网下载iSlide,下载iSlide后,power point的菜单栏会自动出现iSilde图标(如下图). 打开iSlide这一栏,点击“图示库”,会弹出一个窗口,就 ...

  8. [CodeChef-CAPTCITI]Snakes capturing the Mongoose Cities

    Problem 每个点都可以选择降落士兵,然后当一个点的子节点被攻占的数量超过读入中的限制后,这个城市也被占领. 每个点降落士兵都有一定的代价,问把这一个图全部攻占的最小代价. Solution 这显 ...

  9. ROS机器人导航仿真(kinetic版本)

    准备工作: ubuntu 16.04系统;ROS kinetic版本;ROS包turtlebot,导航包rbx1,模拟器arbotix,可视化rviz 1.安装ubuntu 16.04系统与安装ROS ...

  10. Vscode下的Markdown的基本使用

    1.Vscode默认支持Markdown语法,只需要安装相应的扩展插件,Markdown Preview enhanced. 2.安装完插件后,在Vscode上新建一个文件,然后将文件的语言模式设置为 ...