路飞学城Python-Day9(practise)

def save():
with open('practise_4', 'w+', encoding='utf-8') as f:
for i in user_list:
info = str(i) + '\n'
info = info.replace('[', '')
info = info.replace(']', '')
info = info.replace("'", '')
info = info.replace(", ", ',')
f.write(info) def print_info():
for i in user_list:
if username in i:print('------用户个人信息------\n姓名\t%s\n职业\t%s\n部门\t%s' % (i[0],i[2],i[3])) def change_info():
print_info()
change_choice = input('请选择要修改的内容\n1.-----姓名-----\n2.-----职业-----\n3.-----部门-----\n>>>')
if change_choice == '':
new_name = input('请输入新用户名>>>').strip()
for i in user_list:
if username in i:i[i.index(username)] = new_name
save()
return True
elif change_choice == '':
new_job = input('请输入新职业>>>').strip()
for i in user_list:
if username in i: i[2] = new_job
save()
return True
elif change_choice =='':
new_dep = input('请输入部门>>>').strip()
for i in user_list:
if username in i: i[3] = new_dep
save()
else:
print('错误的命名,正在退出') def change_pwd():
old_pwd = input('请输入原密码>>>').strip()
if old_pwd == password:
new_pwd = input('请输入新密码>>>').strip()
for i in user_list:
if username in i: i[1] = new_pwd
save()
else:
print('密码错误!')
if __name__ == '__main__':
while True:
user_list = []
user_info = {}
login_status = None
with open('practise_4', 'r+', encoding='utf-8') as f:
for line in f.readlines(): user_list.append(line.strip().split(','))
for i in user_list: user_info[i[0]] = i[1]
count = 0
print('------欢迎进入用户登录界面---------')
while count < 3:
username = input('请输入用户名>>>').strip()
password = input('请输入密码>>>').strip()
if username in user_info and password == user_info[username]:
print('欢迎登陆')
login_status = True
break
else:
print('用户名或密码错误,请重试')
count += 1
while login_status == True:
print('------请选择用户功能------\n1.修改个人信息\n2.打印个人信息\n3.修改密码')
choice = input('>>>')
if choice == '':
satus = change_info()
if satus == True:
break
elif choice =='':
print_info()
elif choice =='':
change_pwd()
else:
print("错误的命令,请重试")
随便写的
panda,12,新工人,Transportation
pandaboy,456,walker,IT
zombie,789,saller,Offer
文件信息
路飞学城Python-Day9(practise)的更多相关文章
- 路飞学城—Python爬虫实战密训班 第三章
路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...
- 路飞学城—Python爬虫实战密训班 第二章
路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...
- 路飞学城Python爬虫课第一章笔记
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...
- 路飞学城-Python开发集训-第3章
学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...
- 路飞学城-Python开发集训-第1章
学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...
- 路飞学城-Python开发集训-第4章
学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...
- 路飞学城-Python开发集训-第2章
学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...
- 路飞学城Python-Day19(practise)
# 特性1.继承:2.多态:3.封装 # 1.继承的用处:通过继承就可以解决类与类之间的代码冗余关系 # 2.多态的用处:1.增加了程序的灵活性,以不变应万变,使用者都是同一种形式去调用(func(a ...
- 路飞学城-Python开发-第二章
''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...
- 路飞学城-Python开发-第三章
# 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...
随机推荐
- MobilNnet
一.参数数量和理论计算量 1.定义 参数数量(params):关系到模型大小,单位通常为M,通常参数用 float32 表示,也就是每个参数占4个字节,所以模型大小是参数数量的 4 倍 理论计算量(F ...
- Anaconda3 安装报错 bunzip2: command not found
报错信息 Anaconda3-5.3.1-Linux-x86_64.sh: line 353: bunzip2: command not found tar: This does not look l ...
- 8、Collaborative Metric Learning
一.摘要: 文章的核心思想:是如何把Metric learning 和 CF结合起来从而达到更好的推荐效果. 提出了CML(Collaborative Metric Learning),其学习一个联合 ...
- How Google Backs Up The Internet Along With Exabytes Of Other Data
出处:http://highscalability.com/blog/2014/2/3/how-google-backs-up-the-internet-along-with-exabytes-of- ...
- IOS - autoresizingMask
提醒:当frame设定死,慎用autoresizingMask:否则该frame变形的难以想象.
- BZOJ 4026 dC Loves Number Theory (主席树+数论+欧拉函数)
题目大意:给你一个序列,求出指定区间的(l<=i<=r) mod 1000777 的值 还复习了欧拉函数以及线性筛逆元 考虑欧拉函数的的性质,(l<=i<=r),等价于 (p[ ...
- 使用Oracle Database Instant Client 精简版
如果只为了在开发环境中访问Oracle,推荐使用Oracle Database Instant Client(精简版)它相对小巧且不需要安装绿色方便移植. 官方下载Instant Client,在Or ...
- 旋转VR相机不头晕:一个反直觉的发现
旋转VR相机不头晕:一个反直觉的发现 本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/deta ...
- 代理模式之cglib动态代理
上一篇博客说了实现InvocationHandler接口的jdk动态代理,还有一种实现动态代理的方式则是:通过继承的方式实现的cglib动态代理. 先在程序中导入cglib的包,cglib-nodep ...
- MonkeyRunner源代码分析之启动
在工作中由于要追求完毕目标的效率,所以很多其它是强调实战.注重招式.关注怎么去用各种框架来实现目的.可是假设一味仅仅是注重招式.缺少对原理这个内功的了解,相信自己非常难对各种框架有更深入的理解. 从几 ...