Las operaciones de archivo para lograr el registro e inicio de sesión

# Un número de cuenta registrada 
# 1, existe el nombre de usuario nuevo.
# 2, el nombre de usuario sólo letras y números, de 8 a 16 bits.
# 3, solamente por una contraseña de letras y números, 8 a 16 bits.
# 4, introduzca el código de invitación.
# 4, introduzca el código de verificación para completar el registro.
# En segundo lugar, el acceso a la cuenta
# 1, la cuenta no existe de nuevo.
# 2, el número de cuenta correcto y lo incorrecto tres veces la contraseña es incorrecta para bloquear la cuenta.
# ================ ================ enlace de registro 
de impresión ( ' súper afiliado registrado ' .center (30, ' = ' ))
info_cheek = 1 
ivt_cheek = 1
 mientras info_cheek:
    in_name = la entrada ( ' Por favor, introduzca un nombre de usuario que utiliza para iniciar sesión: ' ) .strip ()
     SI  no in_name.isalnum ():
         Imprimir ( ' nombre de usuario sólo por números y letras, inténtelo de nuevo ' )
         del Continuar 
    SI len (in_name) <8. o len (in_name)> 16 :
         Imprimir ( ' nombre de longitud no cumplen las normas de usuario (8-16), por favor, vuelva a introducir ' )
         Continuar 
    con Open (R ^ ' 0011 cuenta datos de contraseñas .txt ' , MODE = ' RT ' , encoding = ' UTF-8. ' ) SQL AS:
         paraMejilla en SQL:
             SI in_name == cheek.strip split (). ( ' : ' ) [0]:
                 Imprimir ( ' nombre de usuario ya existe, por favor vuelva a entrar ' )
                 DESCANSO 
            la otra :
                info_cheek = 0
 , mientras que 1 :
    in_pwd = la entrada ( ' Por favor, introduzca la contraseña que utiliza para iniciar sesión en: ' ) .strip ()
     SI  no in_pwd.isalnum ():
         Imprimir ( ' contraseña sólo por números y letras, por favor, inténtelo de nuevo ' )
         del Continuar 
    elif len (in_pwd ) <8. o len (in_pwd)> 16 :
         Imprimir ( ' longitud no cumplen las normas contraseña (8-16), por favor, vuelva a introducir ' )
         Continuar 
    la otra cosa :
         ROTURA 
impresión ( ' nombre de usuario y contraseña disponible ' .center (30, ' = ' ))
 al mismo tiempo ivt_cheek:
    ivt_num = input ( ' Introduce el código de invitación: ' ) .strip ()
    con abierto (r ' 0012邀请码库.txt ' , modo = ' rt ' , que codifica = ' utf-8 ' ) como sql:
         para mejilla en sql:
             si ivt_num == cheek.strip ():
                ivt_cheek = 0
                 DESCANSO 
        la otra cosa :
             Imprimir ( " código de invitación no existe, por favor vuelva a entrar " )
ident_set = { ' 0 ' , ' 1 ' , ' 2 ' , ' 3 ' , ' 4 ' , ' 5 ' , ' 6 ' , ' 7 ' , ' 8 ' , ' 9 ' }
ident_num = '' 
mientras que 1 :
     para _ en rango (4 ):
        ident_n = ident_set.pop ()
        ident_num + = ident_n
    in_ident = input ( " Por favor, introduzca ({}): ' .formato (ident_num)) Gaza ().
     SI in_ident == ident_num:
         ROMPER 
    la persona :
         Imprimir ( ' Error de validación de entrada de código, por favor vuelva a entrar " )
        ident_num = '' 
Imprimir ( ' Felicidades, registrado, Asegúrese de mantener su nombre de usuario y la contraseña ' )
 Imprimir ( ' Usuario: {} ' .formato (in_name))
 Imprimir ( ' Contraseña: {} ' . formato (in_pwd))
in_info = in_name + ' : ' + in_pwd + ' \ n ' 
con abierto (r ' 0011账号密码库.txt ' , modo = ' a ' , que codifica = ' utf-8 ' ) como sql:
    sql.write (in_info)
# ================ enlace de conexión ================ 
Condi = 1 
miss_list = []
 al mismo tiempo que Condi:
     Imprimir ( " super afiliados Iniciar sesión ' .center (30, ' = ' ))
    USER_NAME = input ( ' Introduzca nombre de usuario: ' )
    la user_pwd = input ( ' Introduzca la contraseña: ' )
    Abrir con (R & lt ' 0013 .txt lista negra ' , MODE = ' RT ' , que codifica = ' UTF-8. ' ) SQL AS:
         para black_cheek en SQL:
             SI USER_NAME == black_cheek.strip ():
                 Imprimir ( ' el usuario tiene está bloqueado, por favor intente de nuevo más tarde " )
                condi = 0
                 ruptura 
        otra cosa :
            Abrir con (R & lt ' 0011 cuenta la base de datos contraseña .txt ' , MODE = ' RT ' , que codifica = ' UTF-8. ' SQL AS):
                 para login_c en SQL:
                    login_cheek . = login_c.strip split () ( ' : ' )
                     si nombre_usuario == login_cheek [0] y user_pwd == login_cheek [1 ]:
                         impresión ( ' 登录成功' )
                        condi = 0
                         ruptura 
                    elif nombre_usuario == login_cheek [0] y user_pwd = login_cheek [1! ]:
                        miss_list.append (nombre_usuario)
                        Probabilidad = 3 -. Miss_list.count (usuario)
                         SI oportunidad> 0:
                             Imprimir ( ' contraseña incorrecta, por favor reintentos puede también tratar {} ' .formato (Chance))
                             ROTURA 
                        la otra cosa :
                             Imprimir ( ' contraseña del usuario se ha introducido erróneo tres veces, ha sido bloqueada ' )
                            condi = 0
                            con abierto (r ' 0013黑名单.txt ' modo, = ' a ' , que codifica = ' utf-8 ' ) como sql:
                                sql.write ( ' {} \ n ' .formato (usuario))
                             ROMPER 
                la persona :
                     Imprimir ( " El usuario no existe, por favor, vuelva a introducir " )

 

Supongo que te gusta

Origin www.cnblogs.com/caoyu080202201/p/12498849.html
Recomendado
Clasificación