def menu():
#首先定义功能列表函数menu()
print(" 名片管理系统 V1.0 ")
print("1:增加新用户")
print("2:删除新用户")
print("3:修改用户名")
print("4:查询用户名")
print("5:显示所有用户")
print("6:保存到文件")
print("7:退出本程序")
# 定义空列表存储用户信息
users = []
def add():
#定义追加新用户信息函数
new_info = {}
new_info['name'] = input("请输入你要增加的姓名:\n")
new_info['QQ'] = input("请输入你要增加的QQ:\n")
new_info["weixin"] = input("请输入你要增加的微信:\n")
new_info["address"] = input("请输入你要增加的住址:\n")
# 使用append方法追加字典元素到列表
users.append(new_info)
print("\n")
# users.append(name)
print(users)
#使用死循环 让程序不自动停止
def deluser():
name = input("请输入你要删除的姓名:\n")
count = 1
# if name in users.name:
for temp in users:
if temp['name'] == name:
count += 1
users.remove(temp)
print("删除后的列表为:%s" % users)
break
if (count == 1):
print("没有该用户")
def update():
count = 1
name = input("请输入你要更改的姓名:\n")
for temp in users:
if temp['name'] == name:
count += 1
after_name = input("请输入你更改后的名字\n")
after_qq = input("请输入你更改后的QQ\n")
after_weixin = input("请输入你更改后的名微信\n")
after_address = input("请输入你更改后的地址\n")
temp['name'] = after_name
temp['QQ'] = after_qq
temp['weixin'] = after_weixin
temp['address'] = after_address
print("更改后的列表为:%s" % users)
if count == 1:
print("没有该用户。")
def findName():
count = 1
find_name = input("请输入查询的名字")
for temp in users:
if temp['name'] == find_name:
count += 1
print("姓名:%s QQ:%s 微信:%s 住址:%s"%(temp['name'],temp['QQ'],temp['weixin'],temp['address']))
if count == 1:
print("么有该用户")
def show():
print("姓名\tQQ\t微信\t住址\t")
for temp in users:
print("%s\t %s\t%s\t %s" % (temp['name'], temp['QQ'], temp['weixin'], temp['address']))
def saveToFile():
f = open("userinfo.data","w")
f.write(str(users))
f.close()
def loadFile():
global users
try:
f = open("userinfo.data","r")
users = eval(f.read())
f.close()
except Exception:
pass def main():
loadFile()
menu()
while 1:
num = int(input("请输入操作序号:\n"))
if num == 1: # 追加新用户信息
add()
elif num == 2: # 删除指定指定用户信息
deluser()
elif num == 3: # 更改指定用户信息
update()
elif num == 4: #查询指定用户信息
findName()
elif num == 5: # 展示所有用户信息
show()
elif num ==6:
saveToFile()
elif num == 7:
break
if __name__ == "__main__":
main()

python3实现名片管理系统(文件版)的更多相关文章

  1. day 5 名片管理系统-文件版

    1.添加__name__ == '__main__' if __name__ == "__main__": #添加__name__变量 #调用主函数 main() 2.添加6功能, ...

  2. day 4 名片管理系统 -函数版

    修改没有用函数的程序 具有独立功能的代码块 源程序 #1.打印功能信息 print("*"*50) print("\t名片管理系统 V3\t") print(& ...

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

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

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

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

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

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

  6. python名片管理系统V2

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

  7. 蓝点通用管理系统V13版发布了!

    蓝点通用管理系统13版已发布! 重磅新功能:系统的通知和提醒功能,增加微信方式,微信通知.微信查询数据.微信拍照上传....... 蓝点的客户管理系统.进销存管理系统.产品管理系统.工作流管理系统.投 ...

  8. Python-控制台实现简单的名片管理系统

    通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码. cards_main.py文件中提供程序的入口 import cards_toolslx while True: # TOD ...

  9. day7 地址 名片管理系统

    1 无限循环  (while  True)   break 退出     人为设计的 ,并且有退除的出口      死循环 bug  错误 2.引用   数字型

随机推荐

  1. 大家看看大佬对Maven仓库的讲解,有何高明之处?

    Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方). 分类 maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分 ...

  2. Redundant Paths 分离的路径

    Redundant Paths 分离的路径 题目描述 为了从F(1≤F≤5000)个草场中的一个走到另一个,贝茜和她的同伴们有时不得不路过一些她们讨厌的可怕的树.奶牛们已经厌倦了被迫走某一条路,所以她 ...

  3. 『无为则无心』Python基础 — 8、Python中的数据类型(数值、布尔、字符串)

    目录 1.数据类型介绍 2.数值型(Number) 3.布尔型(bool) 4.None(空值) 5.常量 6.字符串(String) 1.数据类型介绍 (1)什么是数据类型 在生活中,我们日常使用的 ...

  4. 在微信小程序中使用阿里图标库Iconfont

    首先想要使用图标,只用上图的五个iconfont相关文件就可以了.(下下来的文件iconfont.wxss开始是.css的后缀,手动改成.wxss就可以在小程序中使用) 然后在app.wxss中引入i ...

  5. ECMAScript 2021 正式确认

    ECMAScript 2021 主要包含内容: ECMAScript 2021 于2021年6月22日获得 ECMA International 的批准.ECMAScript 是标准化的 JavaSc ...

  6. C#获取字符串字符的位数(区分中文和英文长度)

    请看以下代码 1 private static int GetStrLength(string str) 2 { 3 if (string.IsNullOrEmpty(str)) return 0; ...

  7. 22、编译安装nginx及性能优化

    22.1.编译安装nginx: 1.下载nginx: [root@slave-node1 ~]# mkdir -p /tools/ [root@slave-node1 ~]# cd /tools/ [ ...

  8. 4、saltstack的使用

    官方文档地址:http://repo.saltstack.com/#rhel 4.1.saltstatck介绍: 用户要一致,这里使用的是root用户: 用于批量管理成百上千的服务器: 并行的分发,使 ...

  9. 2、配置tomcat-service服务

    1.将Tomcat设置成服务 (假设我们缺省的Tomcat目录为d:\Tomcat_oa) : 2.同时按住"win+r"键调出"运行",在方框内输入" ...

  10. 《手把手教你》系列技巧篇(七)-java+ selenium自动化测试-宏哥带你全方位吊打Chrome启动过程(详细教程)

    1.简介 经过前边几篇文章和宏哥一起的学习,想必你已经知道了如何去查看Selenium相关接口或者方法.一般来说我们绝大多数看到的是已经封装好的接口,在查看接口源码的时候,你可以看到这个接口上边的注释 ...