trabajos de fin de semana: el manejo de archivos

Fin de semana de trabajo completa:
# 2.1: Escritura de las interfaces de inicio de sesión de usuario
# 1, introduzca la contraseña de cuenta para completar la comprobación, verificación después de la salida, "Inicio de sesión correcto"
# 2, puede iniciar sesión de usuario diferente
# 3, la misma cuenta de intentos fallidos de bloqueo (Tip: Lock el archivo se almacena en el usuario, con el fin de asegurar que el programa se cierra, el usuario bloqueado)

 

La resolución de problemas:

new_dict = { 'Egon': '123', 'LXX': '234', 'Alex': '456'}
COUNT = 0
el COUNT <3 mientras que:.
nombre de usuario = INPUT ( 'Enter número de cuenta:') tira ().
password = input ( 'introduzca su contraseña:'). Strip ()
SI nombre de usuario en new_dict:
si la contraseña == new_dict.get (nombre de usuario):
print ( 'aterrizaje exitoso')
ROMPER
la cosa:
Imprimir ( 'contraseña incorrecta')
COUNT + . 1 =
Imprimir ( '% s veces la contraseña incorrecta' % COUNT)
del otro:
Imprimir ( 'cuenta el error')
Si el recuento == 3:.
con Open ( 'user.txt', MODE = 'a', la codificación UTF-= ' . 8 ') como F:
f.write (' usuario bloqueado: {} \ n'.format (nombre de usuario) )

 

# 2.2: Después de programar la aplicación de registro de usuario, puede iniciar sesión en,
símbolo:
el while True:
msg = "" "
0 Salir
1 Log
2 registrada
" ""
Imprimir (msg)
cmd = la entrada ( 'Por favor, introduzca el comando >> número:') .strip ()
SI no cmd.isdigit ():
print ( 'debe introducir el número de comandos digitales, tenedor tonto')
del Continuar

: '0' cmd == SI
PAUSA
elif cmd == '1':
# código de función de inicio de sesión (adicional: anidado bucle antes de poder poner tres veces durante la introducción de la salida equivocada)
Pass
elif cmd == '2':
# Registro código de función
Pasar
la persona:
Imprimir ( 'comando de entrada no existe')

# Ponder: si encima de la misma rama Ninguna otra manera de lograr con más gracia

 

La resolución de problemas:

# Definir una función de función de registro del Registro 
DEF el Registro ():
inp_name = la entrada ( 'Por favor, introduzca el número de cuenta que desea registrar:'). Strip ()
inp_pwd = la entrada ( 'pedir su contraseña de la cuenta:'). Strip ()
= file_name 'db.txt'
con Open (R & lt '{}' el formato (file_name), MODE = 'RT', que codifica =. 'UTF-8.') AS F:
users = f.readlines ()
USER_NAMES = []
para los usuarios del usuario:
nombre_usuario, * _ = user.strip split () ( ':').
user_names.append (usuario)
SI inp_name en USER_NAMES:
Imprimir ( 'cuenta ya existe, el registro ha fallado.')
del otro:
con Open (r . '{}' el formato (file_name), 'AT', que codifica =) AS F 'UTF-8.':
f.write ( '{}: {} \ n'.format (inp_name,inp_pwd))
Imprimir ( 'registro se realizó correctamente.')


# Crear una función log_in la función de inicio de sesión
def log_in ():
count = 0
flag = True
mientras bandera:
inp_name = input ( '请输入你的账号:'). tira ()
inp_pwd = input ( '请输入你的密码:'). tira ()
con abierto (r'locked_name.txt', modo = 'rt', que codifica = 'utf-8') como f:
locked_names = f.readlines ()
para locked_name en locked_names:
locked_name = locked_name.strip ()
si inp_name == locked_name:
imprimir ( '账号{}已锁定.' formato (inp_name).)
flag = False
descanso
más:
con abierto (r'db.txt', modo = 'rt', que codifica = 'utf-8') como f:
usuarios = f.readlines ()
user_info = {}
el usuario en el complemento Usuarios para:
. nombre_usuario, password = user.strip split () ( ':')
user_info [nombre_usuario] = contraseña
SI inp_name en user_info:
SI inp_pwd == user_info.get (inp_name):
print ( 'de inicio de sesión tiene éxito' )
ROMPER
la cosa:
Imprimir ('. contraseña incorrecta ')
. COUNT = + 1
si el recuento == 3:
Imprimir ( '{cuenta} 3 veces una contraseña incorrecta, la cuenta está bloqueada.' el formato (inp_name.))
con Open (R ^' locked_name.txt 'MODE =' AT 'que codifica =' UTF-8 ') AS F:.
f.write (' {} \ n-'.Formato (inp_name))
romper
otra cosa:
print ( 'cuenta que ha introducido no existe, por favor, inténtelo de nuevo.')


# parte principal de
la while True:
msg = "" "
0 Salir
1 Log
2 registrado
" ""
Imprimir (msg)
cmd = la entrada ( 'Introduzca el número de comandos >>: ') .strip ()
= cmd_dic {
' 1. ': log_in,
' 2 ': Registro
}
SI cmd ==' 0 ':
ROTURA
elif cmd en cmd_dic:
cmd_dic.get (cmd) ()
else:
Imprimir ( 'Sólo se puede introducir el número de orden digital del tenedor tonto')

Supongo que te gusta

Origin www.cnblogs.com/python--wang/p/12501754.html
Recomendado
Clasificación