zoukankan      html  css  js  c++  java
  • day8&作业

    一、实现用户注册功能
    思路:
    用户输入用户名、密码
    将用户输入的内容按照固定的格式,比如:egon:123,存入文件
    可以往一个文件中重复注册新的用户名和密码
    附加:
    1、对输入的用户名进行合法性监测,不能以数字开头,且如果输入的用户名已存在于文件中则要求用户重新输入
    2、对输入的密码进行合法性监测,密码的长度至少6位,并且不能包含特殊字符*&$
    while 1:
    name = input('注册用户名:')
    if not name[0].isdigit():
    with open('用户名单', mode='rt', encoding='utf-8') as f:
    for line in f:
    if name == (line.strip().split(':'))[0]:
    print('该用户名已被注册')
    break
    else:
    password = input('密码:')
    if len(password) > 5:
    if '*' not in password and '&'
    not in password and '$' not in password:
    confirm_password = input('再次输入密码:')
    if password == confirm_password:
    print('注册成功!')
    with open('用户名单', mode='at', encoding='utf-8') as f:
    f.write('%s:%s ' % (name, password))
    break
    else:
    print('两次输入密码不一致!')
    else:
    print('密码不能包含特殊字符!')
    else:
    print('密码长度至少为6位')
    else:
    print('用户名不能以数字开头!')

    二、实现用户验证功能更:
    思路:
    用户输入账号密码,从文件中读出账号密码,与用户输入的进行比对
    附加:新建黑名单文件,同一个账号名输错三次则将用户名写入黑名单文件中,如果用户输入的用户名存在于黑名单中则直接退出
    count = 0
    flag = 1
    while flag:
    username = input('请输入用户名:')
    with open('黑名单', mode='r', encoding='utf-8') as f:
    for line in f:
    if username == line.strip():
    print('该用户已被锁定')
    flag = 0
    break
    else:
    password = input('请输入密码:')
    with open('用户名单', mode='r', encoding='utf-8') as f:
    for line in f:
    if username == line.strip().split(':')[0] and password == line.strip().split(':')[1]:
    print('登陆成功!')
    flag = 0
    break
    else:
    print('密码错误!')
    count += 1
    if count == 3:
    with open('黑名单', mode='a', encoding='utf-8') as f:
    f.write('%s ' % username)
    day8内容:
    w:只写模式(不可读;不存在则创建;存在则清空内容)
    a:只追加写模式(在文件不存在时会创建空文档,文件存在会将文件指针直接移动到文件末尾)
    在w和a模式下,操作文件内容的模式如果为b的话,先编码成二进制再写入文件
    .writelines:可以将可迭代的数据类型写入到文件里
    .write:可以将字符串数据类型写入到文件里
  • 相关阅读:
    输入函数
    pe结构讲解
    pe结构讲解
    小甲鱼pe结构讲解
    pe结构讲解
    pe结构讲解
    YUI3学习笔记 ( 7 )
    [转载 css]用CSS调整scrollbar(滚动条)的配色
    [转载 js]一次性解决png在i6下的透明问题(包括做为img和背景的两种情况)
    YUI3学习笔记 ( 7 )
  • 原文地址:https://www.cnblogs.com/endlesswaltz/p/9683395.html
Copyright © 2011-2022 走看看