[ Foro de Python ]

Si ingresa un str comience el bucle

03-May-2021 05:20
Invitado (Maria)
0 Respuestas

Quiero solo darle 3 oportunidades al usuario de que se equivoque, en este caso el rut es un int, entonces si ingresa un caracter(str) que funcione el bucle y aparezca por ejemplo lo que puse en los #.

try:
   rut = int(input('Ingrese su rut (sin punto ni guion, ni ultimo digito verificador)'))
except:
   print('Amigo, te dije que solo numeros...')
   rut = int(input('Ingrese su rut nuevamente (sin punto ni guion, ni ultimo digito verificador)'))
# Si en esta ocacion vuelve a ingresar algo erroneo que en este caso sería un caracter... tendría que ir
# print('Amigo, te haz equivocado 2 veces, te queda una oportunidad)
# Como es la ultima oportunidad y si se vuelve a equivocar, darle una salida correcta al programa... entonces iría algo como:
# print ('Te haz vuelto a equivocar, se cerrará el programa, intentelo de nuevo más tarde)
# Y se termina el programa de forma correcta y no se termina como por un error... la cual esa es la funcion del try y except.


lista = list(str(rut))
lista.reverse()
multiplicador = 2
contadora = 0
for y in lista:
   producto = int(y) * multiplicador
   multiplicador = multiplicador + 1
   if multiplicador == 8:
       multiplicador = 2
   contadora = contadora + producto
resto = contadora % 11
verificador = 11 - resto
if verificador == 11:
   verificador = 0
if verificador == 10:
   verificador = 'K'
print(f'Su digito verificador es el siguiente : -{verificador}')




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)