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. 『链接』Microsoft Visual C Redistributable/VC 再发行库 下载哪家强?

    http://www.standaloneofflineinstallers.com/2015/12/Microsoft-Visual-C-Redistributable-2015-2013-2012 ...

  2. ThinkPHP5.0源码学习之缓存Cache(二)

    一.使用Cache类 TP5.0框架默认使用的是File文件缓存驱动,可以修改全局配置文件convention.php中的type,将其改为Redis,这样使用的就是Redis缓存驱动了.

  3. windows WebStorm常用快捷键记录,常用的都在这儿找扒

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Webstorm version 2018.2  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Ctrl + Shift + ...

  4. extern "C"的用法

    文章转自开源电子论坛:http://www.openedv.com/forum.php?mod=viewthread&tid=7986 看一些程序的时候老是有 “#ifdef __cplusp ...

  5. 学习PYTHON之路, DAY 9 - Socket网络编程

    __import__ 两种方法,官方推荐下面的方法 Socket 参数介绍 sk.bind(address) 必会 s.bind(address) 将套接字绑定到地址.address地址的格式取决于地 ...

  6. python数据结构与算法之单链表

    表的抽象数据类型 ADT list:                      #一个表的抽象数据类型 List(self)               #表的构造操作,创建一个空表 is_empty ...

  7. learning makefile call func

  8. Android 音视频深入 二十 FFmpeg视频压缩(附源码下载)

    项目源码https://github.com/979451341/FFmpegCompress 这个视频压缩是通过类似在mac终端上输入FFmpeg命令来完成,意思是我们需要在Android上达到能够 ...

  9. null 和System.DBNull.Value

    row[column]的值为DBNull.Value的话,说明它是从数据库中取到值了,对应了数据库中的空值:但如果row[column]的值为null的话,说明没有从数据库中取到值. DBNull.V ...

  10. 软工作业PSP与单元测试训练

    任务说明(二选一): 一.实现模块判断传入的身份证号码的正确性: 二.实现模块判断传入的电子邮箱账号的正确性: 选择任务二: 实现要求: 一.实现功能模块: 1. 判断邮箱地址是否为空: 2. 判断邮 ...