练习题:员工信息修改程序 在一个文件里存多个人的个人信息

# 练习题
# 员工信息修改程序
# 在一个文件里存多个人的个人信息,如以下
# username,password,age,position,department,phone
# alex,abc123,30,Engineer,IT,13651830433
# rain,df2@432,25,Teacher,Teching,18912334223
# 黑姑娘,df2@432,26,行政,人事,13811177306
# 需求:
# 1.输入用户名密码,正确后登录系统 ,打印
# 1. 修改个人信息
# 2. 打印个人信息
# 3. 修改密码
# 2.每个选项写一个方法
# 3. 当用户选择1时,提示用户选择要修改的字段,根据用户输入对相应字段进行修改
# 4.登录时输错3次退出程序
# 执行时应该达到的效果参考:
import re
# 1. 打印个人信息
def print_pessonal_info(dic_mess,username):
    list_mess = dic_mess.get(username)
    name = list_mess[0]
    age=list_mess[2]
    job=list_mess[3]
    dept=list_mess[4]
    phone=list_mess[5]
    info='''
    - - - - - - - -Info - - - - - - - - - 
    Name : %s
    Age  : %s
    Job  : %s
    Dept : %s
    Phone: %s
    - - - - - - - - - - - - - - - - - - - 
    '''%(name,age,job,dept,phone)
    print(info)
# 2. 修改个人信息
def chenge_pessonal_info(dic_mess,username):
    list_change = dic_mess.get(username)
    print("Pessonal info : %s"%list_change)
    name = list_change[0]
    password=list_change[1]
    age=list_change[2]
    job=list_change[3]
    dept=list_change[4]
    phone=list_change[5]
    info='''
    - - - - - - - -Info - - - - - - - - - 
0.    Name    :  %s
1.    Password:  %s
2.    Age     :  %s
3.    Job     :  %s
4.    Dept    :  %s
5.    Phone   :  %s
    - - - - - - - - - - - - - - - - - - - 
    '''%(name,password,age,job,dept,phone)
    print(info)
    chenge_num = int(input("请输入你需要修改项的序号:"))
    print("你选择修改的项原内容是:%s " %list_change[chenge_num])
    if chenge_num > 0 and chenge_num < len(list_change)-1:
        chenge_new = input("请输入新的内容:")
        list_change[chenge_num] = chenge_new
        print(list_change)
    elif chenge_num == 0:
        print("用户名不可能修。")
    else:
        print("你输入的序号不正确。")
# 3. 保存修改后文件
def save_back_to_file(dic_mess):
    f_message = open(file="message",mode="w",encoding="utf-8")
    for save_list in dic_mess:
        str_dic=str(dic_mess[save_list])
        str_dic=str_dic.lstrip("[")
        str_dic=str_dic.rstrip("]")
        str_dic=re.sub("'","",str_dic)
        str_dic = re.sub(" ", "", str_dic)
        f_message.write(str_dic+"\n")
        print(str_dic)
    f_message.close()

#读写文件内容,定义一个空字典
f_message = open(file="message",mode = "r+",encoding="utf-8")
mess = f_message.readlines()
dic_mess={}

for line in mess:
    line=line.strip()
    if not line.startswith("#"):
        items=line.split(",")  #拆分成列表
        dic_mess[items[0]]=items  #变成字典

menu = '''
1.打印个人信息
2.修改个人信息
3.修改密码
'''

count = 0
logo_suss = 0
while count < 3:
    username = input("请输入用户名:")
    password = input("请输入密码:")
    if username in dic_mess:
        key=dic_mess.get(username)
        if key[1] == password:
            print("- - - - - - welcome %s - - - - - -"%username)
            logo_suss = 1
            break
        else:
            print("你输入的用户名和密码不正确,请重新输入。")
            count += 1
    else:
        print("你输入的用户名和密码不正确,请重新输入!")
        count += 1
else:
    print("你输入的错误次数太多了")

if logo_suss ==1:
    print(menu)
    num = int(input("请输入你要操作的序号:"))
    if num ==1:
        print_pessonal_info(dic_mess,username)
    elif num ==2:
        chenge_pessonal_info(dic_mess,username)
        save_back_to_file(dic_mess)



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值