路飞学城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 ...
随机推荐
- 基于XMPP利用openfire简单的即时通讯
功能的实现结果:能够使自己编写客户端与spark客户端信息通讯,将接受到的信息更新到textview上. 1.下载openfire并安装.设置域名,添加用户 2.下载安装spark客户端 3.jar包 ...
- Navicat for Mysql 关于1130错误,无法正常方法解决的解决办法。
本人因为失误操作,不小心将mysql 玩崩了.导致一直报1130错误,无法进入. 看了很多网上的帖子,但是那些办法都行不通.最后通过好友的指点,解决了这个问题. 1.停止MySQL服务,执行net ...
- 「JavaSE 重新出发」05.03.01 利用反射分析类
在 java.lang.reflect 包中有三个类 Field, Method 和 Constructor 分别用于描述类的域.方法和构造器. Class 类中的 getFields, getMet ...
- TCP基本概念
TCP协议是一个复杂的.可靠的字节流协议.不通用UDP协议. TCP提供客户与服务器之间的连接.TCP客户先与给定的服务器建立一个连接,再跨该连接与服务器交换数据,最后终止这个连接. TCP提供了可靠 ...
- LA 3635 Pie
题意:给出n个圆,分给n+1个人,求每个人最多能够得到多大面积的圆 二分每个人得到的圆的面积 #include<iostream> #include<cstdio> #incl ...
- Kattis - CD
CD Jack and Jill have decided to sell some of their Compact Discs, while they still have some value. ...
- Python学习————字符串相关操作
s.capitalize()-------首字母大写s.upper()------全大写s.lower()------全小写s.swapcase()---大小写翻转s.title()------每个隔 ...
- js实现鼠标吸附线条效果
如图,箭头→为鼠标位置,鼠标会带有吸附着一些线条的效果,具体效果可在我的博客查看,当然,这也是可很受欢迎很常见的效果了=3= <script> !function(){ function ...
- 原生javaScript完成Ajax请求
使用原生javaScript完成Ajax请求,首先应该创建一个对象XMLHttprequest,考虑到兼容低版本IE浏览器,使用ActiveXObject对象,代码入下: var request; i ...
- JS 一个简单的隔行变色函数
//输入要隔行变色的标签名 function setbgColor(tr){ var tr = document.getElementsByTagName("tr"); for(v ...