创建一个名片管理系统,实现增、删、改、查、四项功能

listcard = []
while True:
print('**********欢迎来到名片管理系统**********')
print(' 1.查看名片')
print(' 2.创建名片')
print(' 3.修改名片')
print(' 4.删除名片')
print(' 5.退出名片')
print('*' * )
choose = input('请选择:').strip()
# 查看
if choose == '':
if listcard:
i =
while i < len(listcard):
print('%s--姓名:%s 年龄:%s 电话:%s' % (i+, listcard[i]['name'], listcard[i]['age'], listcard[i]['phone']))
i +=
else:
print('没有信息!')
# 增加
elif choose == '':
new_name = input('name:').strip()
new_age = input('age:').strip()
new_phone = input('phone:').strip()
if new_name and new_age and new_phone:
info = {}.fromkeys(('name', 'age', 'phone'), None)
info['name'] = new_name
info['age'] = new_age
info['phone'] = new_phone
listcard.extend([info])
print('名片创建成功!')
else:
print('请输入相应的信息!') # 删除
elif choose == '':
if listcard:
i =
while i < len(listcard):
print('%s--姓名:%s|年龄:%s|phone:%s' % (i+, listcard[i]['name'], listcard[i]['age'], listcard[i]['phone']))
i +=
res = input('请输入要删除的名片序号:')
listcard.remove(listcard[int(res)-])
print('删除成功!') # 修改
elif choose == '':
i =
while i < len(listcard):
print(
'%s--姓名:%s|年龄:%s|phone:%s' % (i, listcard[i]['name'], listcard[i]['age'], listcard[i]['phone']))
i +=
res = input('请输入要修改的名片序号:')
print('请输入修改的内容:')
edit_name = input('姓名(回车不修改):').strip()
edit_age = input('年纪(回车不修改):').strip()
edit_phone = input('电话(回车不修改):').strip()
if edit_name:
listcard[int(res)-]['name'] = edit_name
if edit_age:
listcard[int(res)-]['age'] = edit_age
if edit_phone:
listcard[int(res)-]['phone'] = edit_phone
print('修改成功!') #退出
elif choose == '':
print('谢谢使用!')
break
else:
print('请输入正确选项!')

可以根据名字查询,删除,修改的名片管理系统

lt=[]
while True:
print('**********欢迎来到名片管理系统**********')
print(' a:新建 b:修改 c:删除 d:查询 e:退出')
print('*' * )
ks = input('请输入要进行的操作:') # 增
if ks == 'a':
info = {}.fromkeys(('name', 'age', 'phone'), None)
k = len(lt)
lt.extend([info])
lt[k]['name'] = input('name:')
lt[k]['age'] = input('age:')
lt[k]['phone'] = input('phone:')
print('名片已经添加!')
for i, j in lt[k].items():
print(i, ':', j) # 改
elif ks == 'b':
key=input('要修改的名字:')
i=
while i < len(lt):
if key in lt[i].values():
lt[i]['name'] = input('name:')
lt[i]['age'] = input('age:')
lt[i]['phone'] = input('phone:')
print('名片已经修改!')
else:
print('没有该名片!')
i += # 删
elif ks == 'c':
key=input('要删除的名字:')
i=
while i < len(lt):
if key in lt[i].values():
lt[i].clear()
lt.remove(lt[i])
print('名片已经删除!')
else:
print('没有该名片!')
i += # 查
elif ks == 'd':
key=input('要查询的名字:')
i=
while i < len(lt):
if key in lt[i].values():
for k, v in lt[i].items():
print(k, ':', v)
print('')
else:
print('没有该名片!')
i += # 退出
elif ks == 'e':
print('谢谢使用!')
break
else:
print('请输入正确选项!')

python程序—名片管理系统的更多相关文章

  1. Python练习 ——名片管理系统(增添,删除,查找,修改)

    需要注意的一个地方是,如果你用的版本是3.6的,那么下面的用到的所有从外界接收信息所用到的input()用input()就行了,如果是2.7版本,那么如果接收的是字符串要用raw_input()(将接 ...

  2. Python:名片管理系统

    字符串和列表学完, 自己试着写了一个非常简单的名片管理系统, 新萌尝试, 大佬们不要喷, 修改名片的功能我偷了个懒, 因为我不知道怎么通过定义下标,然后通过下标来修改列表内的字符串 我的思路是,把用户 ...

  3. Python:名片管理系统(增加登录功能后出现问题,求教)

    我将一个简单的名片管理系统定义成了函数.. 2层. 一个登录界面: 一个名片管理系统使用界面: 逻辑是:登录成功=>跳入名片系统使用界面,同时,跳出登录界面,给出欢迎使用,程序结束. 此时问题来 ...

  4. python简单名片管理系统

  5. Python基础综合运用——搭建名片管理系统

    综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************ ...

  6. python基础提高演练(名片管理系统的开发)

    综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ********* ...

  7. python名片管理系统V2

    主程序: #! /usr/bin env python3 # -*- coding: utf-8 -*- # 项目三: # 1.要求:编写一个名片管理系统,功能如下: # 用户输入相对应的指令,实现对 ...

  8. python名片管理系统

    1.代码: (1)主程序 #!/usr/bin/env python # -*- coding: UTF-8 -*- import cards_tools # 无限循环,由用户主动决定什么时候退出循环 ...

  9. python案例:实现一个函数版的名片管理系统

    本案例使用了自定义函数以及对字符串的常见操作.判断语句和循环语句等知识. 要求 必须使用自定义函数,完成对程序的模块化. 名片信息至少包括:姓名.电话.住址. 必须完成的功能:增.删.改.查.退出. ...

随机推荐

  1. WCF部署失败

    HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. 最可能的原因:•可能是缺少处理程 ...

  2. elasticsearch安装head插件

    安装Head插件 由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包. <1>安装Node.js 下载解压 wget https://node ...

  3. 【托业】【跨栏】TEST06

    26-30 26 27 28 28 29 30

  4. bootstrap 自适应和响应式布局的区别

    自适应:  不管屏幕多大,都尽量不换行,而只是横向缩放. 响应式: 屏幕变小了之后,属于同一行的元素受到挤压后,行的右边元素自动换行显式: 屏幕大了后,本属于同一行的元素尽可能的排在同一行内: boo ...

  5. 动态代理处理service

    /* 动态代理处理service * 1.动态代理的核心是切面编程,去除重复代码: * 2.通过反射+注解可以灵活的获取传入对象内容: * 3.通过try+catch将多个操作包裹,实现事物的原子性: ...

  6. OAuth2.0配置

    一:授权服务器相关代码 AuthorizationServer.java import org.springframework.beans.factory.annotation.Autowired; ...

  7. CDI services--Decorators(装饰器)

    1.Decorators装饰器综述 拦截器是一种强大的方法在应用程序捕捉运行方法和解耦.拦截器可以拦截任何java类型的调用. 这使得拦截器适合解决事务管理,安全性,以及日记记录. 本质上说,拦截器并 ...

  8. Flask性能优化对比

    基于Flask的网关:Flask,Uwsgi,Gevent,Gunicorn(gevent),Tornado,Twisted !/usr/bin/python -- coding:utf-8 -- 美 ...

  9. java-redis

    pom.xml添加如下配置: <dependency> <groupId>org.springframework.boot</groupId> <artifa ...

  10. 解决postman环境切换,自动获取api签名时间及签名

    postman调试api接口时,常遇到两个问题: 1.环境分为开发环境,测试环境,正式环境,如何只写一个接口,通过切换postman环境来实现不同环境的接口调用? 2. api接口请求时往往会添加,来 ...