修改个人信息 python_修改个人信息的程序

1.需要实现的功能

在一个文件里储存多个用户的个人信息,包含用户名、用户密码、年龄、职位、部门、手机号,用户数据结构如下:

yc,mima1234,25,master,biology,18771013309

jack,ycccycu,28,ceo,it,1312312314

rose,sad21312,23,model,art,213212421

输入用户名与密码,登陆系统,打印如下选项:

修改个人信息

打印个人信息

修改密码

退出程序

每个选项写一个方法

登陆输错3次,退出程序

2.程序流程简图:

1356841-20180412215334956-2017904630.png

3.程序源码

# -*- coding: utf-8 -*-

# 用户信息保存在UserList.txt中,格式为XX,XXXXXX,XXXXX用逗号分隔

# 被锁定的用名保存在LockList.txt中

import sys

import os

locked_user = open('LockList.txt','r+')

locked_name = locked_user.readlines()

def get_data(x): # 用来获取用户所有的信息表,并返回值

with open('UserList.txt', 'r') as user_file:

user_list = user_file.readlines()

user_file.close()

for user_line in user_list:

data_list = user_line.strip('\n').split(',')

user = data_list[0]

if user == x:

return data_list

else:

return False

def print_data(): # 用来打印用户信息的工具

data_list = get_data(username)

ifo = '''-------welcome to my city------

name: %s

age : %s

job : %s

Dept: %s

Phone: %s

''' % (data_list[0], data_list[2], data_list[3], data_list[4], data_list[5])

return print(ifo)

def change_data(x): # 用来修改用户信息的工具,包括修改密码

data_list = get_data(username)

f_name = 'UserList.txt'

f_new_name = "%s.new" % f_name

f = open(f_name, 'r+', encoding="utf-8")

f_new = open(f_new_name, 'w+', encoding='utf-8')

current_data = [data_list[0], data_list[2], data_list[3], data_list[4], data_list[5]]

if x == 1:

for index,item in enumerate(current_data):

print(index,item)

num = int(input('请输入你所需要更改的项目序号:'))

new_str = input('请输入你的新信息:')

current_data[num] = new_str # 进行内容的替换

current_data.insert(1, data_list[1])

else:

num = 1

new_str = input('请输入你的新信息:')

current_data.insert(1,new_str)

map(str, current_data)

str_line = ','.join(current_data)

for line in f.readlines():

old_list = line.strip('\n').split(',')

old_line = line.strip('\n')

current_user = old_list[0]

if current_user == username:

new_line = line.replace(old_line, str_line)

else:

new_line = line

f_new.write(new_line)

f.close()

f_new.close()

os.replace(f_new_name, f_name)

count = 0

while count < 3:

username = input("请输入你的用户名:")

for locked_line in locked_name:

if username == locked_line.strip('\n'):

print('该用户已被锁定')

sys.exit()

data_list = get_data(username)

if data_list:

passkey = data_list[1]

password = input("请输入你的密码:")

if password == passkey:

print("欢迎您的到来!")

# 进入用户信息修改功能

while True:

print('''

-------欢迎来的新世界-------

1.修改个人信息

2.打印个人信息

3.修改密码

4.退出程序

''')

choice = int(input('请输入你的选择:'))

if choice == 1:

change_data(1)

continue

elif choice == 2:

print_data()

continue

elif choice == 3:

change_data(3)

continue

else: # 输入其他选项将退出程序

sys.exit()

else:

count += 1

print("输入错误%s次,三次后将退出,并锁定用户!"%count)

if count == 3:

locked_user.write(username + '\n')

locked_user.close()

sys.exit()

break

else:

print("该用户不存在")

count += 1

continue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值