路飞学城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 ...
随机推荐
- 关于Android对话框简单实用方法总结
要显示一个对话框,首先需要在xx.xml下添加一个Button按钮,并添加一个对应id. 单次点击事件对话框: button.setOnClickListener(new View.OnClickLi ...
- Caffe Batch Normalization推导
Caffe BatchNormalization 推导 总所周知,BatchNormalization通过对数据分布进行归一化处理,从而使得网络的训练能够快速并简单,在一定程度上还能防止网络的过拟合, ...
- java中静态,抽象,接口,继承总结
(一).静态: 1.静态方法里只能访问静态变量,静态变量是类所特有的,所有类实例都作用同一个变量 静态随着类的加载而加载 (二). 抽象:抽象相当于接口,没有方法体,只定义方法,让子类实现,抽象类中可 ...
- 使用短信猫读取短信java代码
短信猫简单配置:https://www.cnblogs.com/Big-Boss/p/9699880.html 测试发送短信代码:https://www.cnblogs.com/Big-Boss/p/ ...
- Model、ModelMap和ModelAndView的使用详解
https://blog.csdn.net/itbiggod/article/details/79685610
- 用于构建 RESTful Web 服务的多层架构
作者:Bruce Sun, Java 架构师, IBM 出处:http://www.ibm.com/developerworks/cn/web/wa-aj-multitier/ 用于构建 RESTfu ...
- FreeCodeCamp初级算法部分学习
Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 当你完成不了挑战的时候,记得开大招 ...
- js 数组 : 差集、并集、交集、去重
//input:[{name:'liujinyu'},{name:'noah'}] //output:['liujinyu','noah'] Array.prototype.choose = func ...
- 前端通过canvas实现图片压缩
在一次的项目中,需要用户上传图片,目前市场随便一个手机拍出来的照片都是好几兆,直接上传特别占用带宽,影响用户体验,所以要求对用户上传图片进行压缩后再上传:那么前端怎么实现这个功能呢? 亲测可将4M图片 ...
- MySql的replace into 语句
MySQL REPLACE语句介绍 MySQL的REPLACE语句是一个MySQL扩展于SQL标准的语句. 官方定义:REPLACE works exactly like INSERT, except ...