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. C++标准模板库(STL)之Set

    1.Set的用法 Set:集合,一个内部自动有序而且不重复元素的容器.使用set,要加头文件#include<set>和using namespace std; 1.1.Set的定义 se ...

  2. vue-计算属性和侦听器

    1.计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example"> { ...

  3. C语言操作符

    C语言操作符的分类: 算术操作符 逻辑运算符 位操作符     赋值操作符 单目操作符 关系操作符 条件操作符 逗号表达式 数组下标引用 函数调用 结构体成员使用 大体上,C语言的操作符具体就这么些, ...

  4. 二叉树之AVL树

    高度为 h 的 AVL 树,节点数 N 最多2^h − 1: 最少N(h)=N(h− 1) +N(h− 2) + 1. 最少节点数n 如以斐波那契数列可以用数学归纳法证明: 即: N(0) = 0 ( ...

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

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

  6. awk命令总结

    强大的文本处理工具,awk读取文件内容的每一行时,将对比该行是否与给定的模式相匹配,匹配则执行处理过程,否则对该行不处理. 序号 awk功能 例子 1 指定分隔符显示某几列   2 通过正则表达式取出 ...

  7. 如何用jmeter进行数据库性能测试

    由于业务需要,需要进行数据库性能测试,记录过程进行学习 测试前期准备: 1.测试点准备及需求点 a.性能测试目的 b.jmeter测试数据库基本脚本  get c.数据库性能监控工具选择 d.服务器性 ...

  8. VMware 物理机可以复制文件到虚拟机,却无法从虚拟机复制文件到物理机(已解决)

    物理机运行,输入gpedit.msc确定,把如图的那个改成“已禁用” 之后虚拟机重新安装VMware Tool重启即可 事情是这样的,每次打开IDM会 “警告:您在以管理员身份运行IDM,在该模式下, ...

  9. docker学习端口连接docker容器---第四章节

    一.Docker容器连接 前面的第二章节,我们事先通过网络端口来访问运行在docker容器内的服务,我们也可以通过端口连接到一个docker容器 我们可以指定容器绑定的网络地址,如绑定127.0.0. ...

  10. Hyperledger Fabric channel配置交易

    一个超级账本区块链网络里每个channel的共享配置都是存储在一个配置交易里.每个配置交易通常被简称为configtx. Channel 配置有以下重要属性: 1.有版本标识:配置里的所有元素都有一个 ...