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. Myeclipse在debug模式下没加断点程序卡住,start模式下可以正常启动

    参考<eclipse在debug模式下卡住,start模式下可以启动>,地址:https://blog.csdn.net/jack_chen1994/article/details/761 ...

  2. C#异步(下)

    上篇主要分析了async\await之前的一些异步模式,今天说异步的主要是指C#5的async\await异步.在此为了方便的表述,我们称async\await之前的异步为“旧异步”,async\aw ...

  3. C# 异步(上)

    新进阶的程序员可能对async.await用得比较多,却对之前的异步了解甚少.本人就是此类,因此打算回顾学习下异步的进化史. 本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async ...

  4. 嵌入式Linux开发之uboot启动Linux整体流程分析

    嵌入式Linux开发之uboot启动Linux整体流程分析 Uboot全称Universal Boot Loader,一个遵循GPL协议的的开源项目,其作用是引导操作系统,支持引导linux.VxWo ...

  5. strcpy_s和strcpy()

    转自: https://www.cnblogs.com/hrhguanli/p/4570093.html strcpy_s和strcpy()函数功能几乎相同.strcpy函数.就象gets函数一样,它 ...

  6. 手机端页面自适应解决方案—rem布局进阶版

    手机端页面自适应解决方案—rem布局进阶版   https://www.jianshu.com/p/985d26b40199 注:本文转载之处:https://www.cnblogs.com/anni ...

  7. spring为什么推荐使用构造器注入

    一.前言 ​ 项目中遇到一个问题:项目启动完成前,在A类中注入B类,并调用B类的某个方法. 那么调用B类的这个方法写在哪里呢,我选择写到构造器里,但是构造器先于Spring注入执行,那么执行构造器时, ...

  8. 电脑小白和ta的小白电脑——MySQL的简单使用

    数据库的基本操作:增删改查 分别使用cmd环境和Navicat可视化工具连接MySQL数据库来实现 这里默认了已经安装和配置MySQL↓ https://www.cnblogs.com/gifted3 ...

  9. this的学习

    面试经常被问到this的问题,每次回答都感觉回答的不尽人意,今天周六就在家好好研究this的问题 1.function定义的时候this的指向是无法确定的,执行function的时候才知道this的指 ...

  10. js问题解决——cannot read property style of undefind

    当遇到cannot read property style of undefine的问题如下: 那就说明你设定的这个变量名为空 比如我在文档里写的属性名为list_box 但是我获取的属性名称写错了 ...