Skip to content

Commit 739199d

Browse files
committed
Se completó el ejercicio.
1 parent 62d3bfb commit 739199d

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed

Roadmap/49 - EL ALMACÉN DE PAPÁ NOEL/python/edisonlmg.py

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,24 @@
77

88
# Funcion que comprueba errores
99

10-
def errores(psw_in):
10+
def validar_cadena(cadena):
1111

12+
if len(cadena) != 4:
13+
return "Error: La cadena debe tener exactamente 4 caracteres."
1214

15+
errores = []
16+
17+
for char in cadena:
18+
if char not in "ABC123":
19+
errores.append(f"'{char}'")
20+
21+
if len(set(cadena)) != len(cadena):
22+
errores.append("Los caracteres no deben repetirse")
23+
24+
if errores:
25+
return f"Error: {', '.join(errores)}. Solo se permiten A, B, C, 1, 2, y 3, y sin repeticiones."
26+
27+
return "La cadena es válida."
1328

1429
# Funcion que comprueba la contraseña ingresada
1530

@@ -18,15 +33,10 @@ def comprobar_psw(psw_in, psw):
1833
for x, y in zip(psw_in, psw):
1934

2035
if x == y:
21-
2236
print(f'\n{x}: Correcto')
23-
2437
elif x in psw:
25-
2638
print(f'\n{x}: Presente')
27-
2839
else:
29-
3040
print(f'\n{x}: Incorrecto')
3141

3242
# Generar una cadena aleatoria de 4 caracteres
@@ -50,35 +60,28 @@ def comprobar_psw(psw_in, psw):
5060
while intento < 10:
5161

5262
intento += 1
53-
5463
print(f'\nIntento n.° {intento}:')
5564

56-
while True:
57-
58-
psw_in = input('\nIngresa contraseña: ')
65+
psw_in = input('\nIngresa contraseña: ')
66+
resultado = validar_cadena(psw_in)
5967

60-
if errores(psw_in):
61-
62-
print('''
63-
\nLos caracteres ingresados no son correctos.
64-
\nInténtalo de nuevo...
65-
''')
68+
if resultado == "La cadena es válida.":
69+
pass
70+
else:
71+
print(resultado)
72+
continue
6673

6774
if psw_in == psw:
68-
6975
print('''
7076
\n La contraseña es correcta.
7177
\n¡Felicidades, a repartir juguetes!
7278
''')
73-
74-
exit()
75-
79+
sys.exit()
7680
else:
77-
7881
print(f'''
7982
\nLa contraseña es incorrecta. Pero descuida, te doy unas pistas:
80-
\n{comprobar_psw(psw_in, psw)}
8183
''')
84+
comprobar_psw(psw_in, psw)
8285

8386
print('''
8487
\n¡Oh, no. Papá Noel has olvidado la contraseña!

0 commit comments

Comments
 (0)