python3实现名片管理系统(文件版)
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实现名片管理系统(文件版)的更多相关文章
- day 5 名片管理系统-文件版
1.添加__name__ == '__main__' if __name__ == "__main__": #添加__name__变量 #调用主函数 main() 2.添加6功能, ...
- day 4 名片管理系统 -函数版
修改没有用函数的程序 具有独立功能的代码块 源程序 #1.打印功能信息 print("*"*50) print("\t名片管理系统 V3\t") print(& ...
- python案例:实现一个函数版的名片管理系统
本案例使用了自定义函数以及对字符串的常见操作.判断语句和循环语句等知识. 要求 必须使用自定义函数,完成对程序的模块化. 名片信息至少包括:姓名.电话.住址. 必须完成的功能:增.删.改.查.退出. ...
- Python基础综合运用——搭建名片管理系统
综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************ ...
- python基础提高演练(名片管理系统的开发)
综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ********* ...
- python名片管理系统V2
主程序: #! /usr/bin env python3 # -*- coding: utf-8 -*- # 项目三: # 1.要求:编写一个名片管理系统,功能如下: # 用户输入相对应的指令,实现对 ...
- 蓝点通用管理系统V13版发布了!
蓝点通用管理系统13版已发布! 重磅新功能:系统的通知和提醒功能,增加微信方式,微信通知.微信查询数据.微信拍照上传....... 蓝点的客户管理系统.进销存管理系统.产品管理系统.工作流管理系统.投 ...
- Python-控制台实现简单的名片管理系统
通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码. cards_main.py文件中提供程序的入口 import cards_toolslx while True: # TOD ...
- day7 地址 名片管理系统
1 无限循环 (while True) break 退出 人为设计的 ,并且有退除的出口 死循环 bug 错误 2.引用 数字型
随机推荐
- 【C++】Vector判断元素是否存在,去重,求交集,求并集
1 #include <iostream> 2 #include <vector> 3 #include <algorithm> //sort函数.交并补函数 4 ...
- 怎么回答面试官:你对Spring的理解?
最近看了点Spring的源码,正好来稍微扯一扯,帮一部分培训班的朋友撕开一道口子,透透气.我自己都是看的培训班视频,所以也算培训班出身吧.所以下文开口闭口"培训班",不要觉得是我在 ...
- Spring自定义转换类,让@Value更方便
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 关于配置的文章已经写了很多,相信看过的人还是会有一定收获的,系列文章可阅读:南瓜慢说-配置相关文章.对于@Val ...
- 案例 | 腾讯广告 AMS 的容器化之路
作者 张煜,15年加入腾讯并从事腾讯广告维护工作.20年开始引导腾讯广告技术团队接入公司的TKEx-teg,从业务的日常痛点并结合腾讯云原生特性来完善腾讯广告自有的容器化解决方案 项目背景 腾讯广告承 ...
- 关于Mysql事务,你必须知道的几个知识点!
Transaction事务 上期我们讲到了jpa的常用操作,查询.更新.删除等,但是如果在操作数据库事务时发生异常,数据会回滚吗?下面我们来看个例子 UserController新增如下代码: @Ge ...
- excel VBA中正则模块vbscript.regexp的用法
一.是一个对象,用于执行 正则表达式! 二.有三个属性: 1. Global属性: True or False, 指明模式是匹配整个字符串中所有与之相符的地方还是只匹配第一次出现的地方.默认 ...
- 对ES6中类class以及实例对象、原型对象、原型链之间关系的详细总结
1. 类 ES6 中新增加了类的概念,可以使用 class 关键字声明一个类,之后用这个类来实例化对象.即类的用途:实例化对象. // 创建一个Person类 class Person { } // ...
- Go 中的 channel 与 Java BlockingQueue 的本质区别
前言 最近在实现两个需求,由于两者之间并没有依赖关系,所以想利用队列进行解耦:但在 Go 的标准库中并没有现成可用并且并发安全的数据结构:但 Go 提供了一个更加优雅的解决方案,那就是 channel ...
- 11、gitlab和Jenkins整合(2)
5.补充: (1)构建说明: 1)Jenkins会基于一些处理器任务后,构建发布一个稳健指数 (从0-100 ),这些任务一般以插件的方式实现. 2)它们可能包括单元测试(JUnit).覆盖率(Cob ...
- Sqlite3:Sqlite3命令行Linux操作
1.查看sqlite版本 [istester@ietester.com idoxu]$ sqlite3 -version 2.进入sqlite后台操作 指定一个完整文件的路径名,打开或者创建数据库(文 ...