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

    用户输入用户名、密码
    将用户输入的内容按照固定的格式,比如:egon: 123,存入文件
    可以往一个文件中重复注册新的用户名和密码
    附加:
    1、对输入的用户名进行合法性监测,不能以数字开头,且如果输入的用户名已存在于文件中则要求用户重新输入
    2、对输入的密码进行合法性监测,密码的长度至少6位,并且不能包含特殊字符 * &$
     1 while True:
     2     name = input('请输入用户名').strip()
     3     if name[0].isdigit():
     4         print('包含数字开头请重新输入用户')
     5         continue
     6     with open(r'db1.txt',mode='rt',encoding='utf-8') as read_f,
     7             open(r'db1.txt',mode='at',encoding='utf-8') as write_f:
     8         for line in read_f:
     9             u,k = line.strip('
    ').split(':')
    10             if name == u:
    11                 print('用户名已存在')
    12                 break
    13         else:
    14             pwd = input('请输入密码:').strip()
    15             if len(pwd)<6 or '*'in pwd or '&'in pwd or '$'in pwd:
    16                 print('密码错误')
    17                 continue
    18             else:
    19                 write_f.write('{}:{}
    '.format(name,pwd))
    20                 print('注册成功')
    21                 break
    二、实现用户验证功能更:
    思路:
    用户输入账号密码,从文件中读出账号密码,与用户输入的进行比对
    附加:新建黑名单文件,同一个账号名输错三次则将用户名写入黑名单文件中,如果用户输入的用户名存在于黑名单中则直接退出
     1 tag = True
     2 while tag:
     3     name = input('请输入账户:').strip()
     4     # pwd = input('请输入密码:').strip()
     5     with open(r'hmd.txt',mode='rt',encoding='utf-8') as rhmd:
     6         for line in rhmd:
     7             hmd=line.strip('
    ')
     8             if name ==hmd:
     9                 print('黑名单')
    10                 tag = False
    11                 break
    12     if not tag:
    13         continue
    14     with open(r'db.txt',mode='r',encoding='utf-8') as rf:
    15         for line in rf:
    16             user,psward = line.strip('
    ').split(':')
    17             if name == user:
    18                 break
    19         else :
    20             print('用户名不存在')
    21             continue
    22         count =0
    23         while count<3:
    24             pwd = input('请输入密码:').strip()
    25             if pwd == psward:
    26                 print('登陆成功')
    27                 tag = False
    28                 break
    29             else:
    30                 print('请重新输入密码')
    31                 count+=1
    32                 continue
    33         else:
    34             with open('hmd.txt',mode='at',encoding='utf-8') as hmd:
    35                 hmd.write('%s
    '%user)
    36                 tag =False
    37                 break
  • 相关阅读:
    C++多线程chap3 多线程异步和通信1
    C++多线程chap2多线程通信和同步9
    C++多线程chap2多线程通信和同步5
    C++多线程chap3 多线程异步和通信2
    C++多线程chap2多线程通信和同步6
    taro实现多语言切换
    git常用命令
    pytorch hook 钩子
    MySQL 学习笔记(六)character 与 collation
    Python 学习笔记(七)socket
  • 原文地址:https://www.cnblogs.com/msj513/p/9681927.html
Copyright © 2011-2022 走看看