zoukankan      html  css  js  c++  java
  • day11作业

    #一:今日作业:
    #1、编写文件copy工具
    copy_path = input("请输入复制的文件路径:").strip()
    paste_path = input("请输入粘贴的文件路径:").strip()
    with open(r'{}'.format(copy_path),mode='rt',encoding='utf-8') as f1,
            open(r'{}'.format(paste_path),mode='wt',encoding='utf-8') as f2:
        res = f1.read()
        f2.write(res)
    # 2、编写登录程序,账号密码来自于文件
    user_name = input("请输入账号:").strip()
    pwd = input("请输入密码:").strip()
    with open("user.txt",mode='rt',encoding='utf8') as f:
        for line in f:
            username,userpwd = line.strip().split(":")
            if user_name == username and userpwd == pwd:
                print("登陆成功")
                break
        else:
            print("账号密码错误")
    # 3、编写注册程序,账号密码来存入文件
    user_name = input("请输入账号:").strip()
    user_pwd = input("请输入密码:").strip()
    with open("user.txt",mode='at',encoding='utf-8') as f:
        f.write('{}:{}
    '.format(user_name,user_pwd))
    
    # 二:周末综合作业:
    # 2.1:编写用户登录接口
    # 1、输入账号密码完成验证,验证通过后输出"登录成功"
    # 2、可以登录不同的用户
    # 3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定)
    
    user_pwd = {"egon":"root123", "alex":"13579", "yu":"root"}
    user_info = {"egon":0, "alex":0, "yu":0}
    user_pwd = {}
    user_info = {}
    with open("user.txt", mode='rt', encoding='utf8') as f:
        for line in f:
            username, userpwd = line.strip().split(":")
            user_pwd.setdefault(username, userpwd)
            user_info.setdefault(username, 0)
    
    while True:
        username = input("请输入账号:").strip()
        pwd = input("请输入密码:").strip()
    
        with open('locked.txt', 'r', encoding='utf-8') as f1:
            all = f1.read()
            a = all.split()
            flag = a[0]
            name = a[1]
        if username not in user_pwd:
            print("用户不存在")
        elif username == name and flag == 'lock':
            print("你的账号已被锁定")
            break
        elif (user_pwd.get(username) != pwd):
            user_info[username] += 1
            print("密码错误")
            if user_info.get(username) >= 3:
                user_info[username] = "lock"
                print("你的账号已被锁定")
                with open("locked.txt",mode='wt',encoding='utf-8') as f2:
                    f2.write("lock "+username)
                break
        else:
            print("登陆成功")
            break
    
    # 2.2:编写程序实现用户注册后,可以登录,
    # 提示:
    while True:
        msg = """
        0 退出
        1 登录
        2 注册
        """
        print(msg)
        cmd = input('请输入命令编号>>: ').strip()
        if not cmd.isdigit():
            print('必须输入命令编号的数字,傻叉')
            continue
        if cmd == '0':
            break
        elif cmd == '1':
            user_pwd = {}
            user_info = {}
            with open("user.txt", mode='rt', encoding='utf8') as f:
                for line in f:
                    username, userpwd = line.strip().split(":")
                    user_pwd.setdefault(username, userpwd)
                    user_info.setdefault(username, 0)
            while True:
                username = input("请输入账号:").strip()
                pwd = input("请输入密码:").strip()
    
                with open('locked.txt', 'r', encoding='utf-8') as f1:
                    all = f1.read()
                    a = all.split()
                    flag = a[0]
                    name = a[1]
                if username not in user_pwd:
                    print("用户不存在")
                elif username == name and flag == 'lock':
                    print("你的账号已被锁定")
                    break
                elif (user_pwd.get(username) != pwd):
                    user_info[username] += 1
                    print("密码错误")
                    if user_info.get(username) >= 3:
                        user_info[username] = "lock"
                        print("你的账号已被锁定")
                        with open("locked.txt", mode='wt', encoding='utf-8') as f2:
                            f2.write("lock " + username)
                        break
                else:
                    print("登陆成功")
                    break
            break
        elif cmd == '2':
            user_name = input("请输入注册账号:").strip()
            user_pwd = input("请输入密码:").strip()
            with open("user.txt",mode='at',encoding='utf-8') as f:
                f.write('{}:{}
    '.format(user_name,user_pwd))
            print("注册成功")
        else:
            print('输入的命令不存在')
    
    # 思考:上述这个if分支的功能否使用其他更为优美地方式实现
    
  • 相关阅读:
    怎样跟老板提加薪,来看看自己值多少钱
    leetcode-204-Count Primes
    Atitit. 异常的使用总结最佳实践java .net php Vo8f
    设计模式——第一课
    linux svn命令具体解释
    BTrace介绍和生产环境样例
    5.3.5 namedtuple() 创建命名字段的元组结构
    linux驱动开发之九鼎板载蜂鸣器驱动测试【转】
    hrtimer高精度定时器的简单使用【学习笔记】
    Linux时间子系统之(一):时间的基本概念【转】
  • 原文地址:https://www.cnblogs.com/yding/p/12489222.html
Copyright © 2011-2022 走看看