11---我是今日作业

1、编写文件copy工具
src_file = input('请输入需要拷贝文件的路径:').strip()
copy_file = input('请输入复制后新文件的路径:').strip()
# 打开要复制的文件
with open('复制操作.txt', mode='r', encoding='utf-8') as f, \
        open('复制操作【副本】.txt', mode='w', encoding='utf-8') as f1:
    res = f.read()
    f1.write(res)
2、编写登录程序,账号密码来自于文件
user_name = input('请输入用户名:').strip()
password = input('请输入密码').strip()
# 打开存在文件中的用户名和密码
with open('info.txt', mode='r', encoding='utf-8') as f:
    for line in f:
        name, pwd = line.strip().split('=')
        if user_name == name and password == pwd:
            print('登陆成功')
            break
    else:
        print('用户名或密码不正确')
3、编写注册程序,账号密码来存入文件
user_name = input('请输入昵称:')
password = input('请输入密码:')
with open('注册程序.txt','a',encoding='utf-8') as f:
    f.write(f'{user_name}:{password}\n')
print('注册成功')

 4、编写用户登录接口

#1、输入账号密码完成验证,验证通过后输出"登录成功"
#2、可以登录不同的用户
#3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定)
name_dic = {}
error_name = []
with open('info.txt', 'r', encoding='utf-8') as f:
    # 将信息存入字典中
    for line in f:
        name, pwd = line.strip().split('=')
        name_dic[name] = pwd
with open('error_info.txt', 'r', encoding='utf-8') as f1:
    # 将信息存入列表中
    for line in f1:
        error_name.append(line.strip())


while True:
    user_name = input('请输入用户名:')
    # 判断用户是否被锁定
    if user_name in error_name:
        print('账号被锁定')
        break
    # 判断用户名是否存在
    elif user_name in name_dic:
        for i in range(3):
            password = input('请输入密码:')
            # 判断密码是否正确
            if password == name_dic[user_name]:
                print('登陆成功')
                break
            else:
                print('密码不正确')
        else:
            # 在用户名存在的情况下,密码输错三次锁定
            print('已输错三次,被锁定')
            with open('error_info.txt', 'a', encoding='utf-8') as f1:
                f1.write('{user_name}\n'.format(user_name=user_name))
        break
    else:
        print('不存在')

5、 注册

#     """
# print(msg)
# cmd = input('请输入命令编号>>: ').strip()
# if not cmd.isdigit():
# print('必须输入命令编号的数字,傻叉')
# continue
#
# if cmd == '0':
# break
# elif cmd == '1':
# # 登录功能代码(附加:可以把之前的循环嵌套,三次输错退出引入过来)
# pass
# elif cmd == '2':
# # 注册功能代码
# pass
# else:
# print('输入的命令不存在')
#
# # 思考:上述这个if分支的功能否使用其他更为优美地方式实现/
# 实现用户注册
def login():
    while True:
        user_name = input('your name:').strip()
        list_info = []
        with open('info.txt','r',encoding='utf-8') as f:
            for info in f:
                name,pwd = info.strip().split(':')
                list_info.append(name)
            if user_name in list_info:
                print('用户名存在')
                continue
            else:
                password = input('password:').strip()
                with open('info.txt','a',encoding='utf-8') as f1:
                    f1.write('{user_name}:{password}\n'.format(user_name=user_name,password=password))
                    print('注册成功')
            break




# 实现用户登录
def logon():
    for i in range(3):
        user_name = input('name:')
        user_password = input('password:')
        with open('info.txt','r',encoding='utf-8') as f:
            for info in f:
                name,password = info.strip().split(':')
                if name == user_name and password == user_password:
                    print('login successful')
                    break
            else:
                print('invalid username or password!')
       break
else: print('已输错三次') msg = """ 0 退出 1 登录 2 注册 """ print(msg) while True: cmd = input('inp your cmd:') if cmd.isdigit(): cmd = int(cmd) if cmd == 0: print('退出程序') elif cmd == 1: logon() elif cmd == 2: login() else: print('该功能不存在!') break else: print('must be number!')

 

posted @ 2020-03-13 19:35  微信搜索-程序媛小庄  阅读(156)  评论(0)    收藏  举报