Python - Validar un numero ingresado por el usuario

 
Vista:
sin imagen de perfil

Validar un numero ingresado por el usuario

Publicado por Marco (7 intervenciones) el 25/06/2022 02:34:15
Buenas,

Necesito que el programa valide una opcion que ingrese el usuario y si no es la correcta la pida de nuevo hasta que la ingrese correcto pero no comprendo bien como poder hacerlo, en esta parte del codigo es donde necesito aplicarlo

if opcion == 1:
print('********************************************')
peso_paquete = 0
while peso_paquete == 0 :
try:
print('Todos los paquetes tiene un costo inicial de 1000 colones por el primer 1kg del paquete. Los kilogramos adicionales tiene una tarifa adicional.\n'
'Para los paquetes Express ¢200 por kilogramo')
peso_paquete = int(input('Ingrese el peso del paquete a enviar: '))
except ValueError:
print('Los paquetes puede llegar a pesar una cantidad máxima de peso de 45 kg por paquete.')

Si el usuario coloca un numero mayor a 45 debe de solicitarle de nuevo el dato hasta que lo ingrese correcto, como podria realizarlo.

Agradezco la ayuda que me puedan brindar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Validar un numero ingresado por el usuario

Publicado por Francisco Javier (313 intervenciones) el 25/06/2022 18:13:51
Hola buenas tardes creo que la mejor manera es que lo hagas así:
1
2
3
print('Todos los paquetes tiene un costo inicial de 1000 colones por el primer 1kg del paquete. Los kilogramos adicionales tiene una tarifa adicional.\n'
'Para los paquetes Express ¢200 por kilogramo')
while (peso_paquete := int(input("Ingrese el peso del paquete a enviar : "))) not in range(1,46):  print('Los paquetes puede llegar a pesar una cantidad máxima de peso de 45 kg por paquete.')

Es mucho más simple y te ahorra el try y tener que declarar la variable antes del while y todo, espero te sea de ayuda.
Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Validar un numero ingresado por el usuario

Publicado por Marco (7 intervenciones) el 25/06/2022 22:02:33
Muchas gracias. me funciono super bien!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Validar un numero ingresado por el usuario

Publicado por tincopasan (1082 intervenciones) el 26/06/2022 03:20:22
partamos de la base que solo valida si lo ingresado es un entero, con el try evitaba los errores en caso de ingresar un caracter o un flotante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Validar un numero ingresado por el usuario

Publicado por Francisco Javier (313 intervenciones) el 26/06/2022 15:51:26
Tiene usted razón, puedes entonces:
1
2
3
4
5
6
print('Todos los paquetes tiene un costo inicial de 1000 colones por el primer 1kg del paquete. Los kilogramos adicionales tiene una tarifa adicional.\n'
'Para los paquetes Express ¢200 por kilogramo')
try:
    while (peso_paquete := int(input("Ingrese el peso del paquete a enviar : "))) not in range(1,46):  print('Los paquetes puede llegar a pesar una cantidad máxima de peso de 45 kg por paquete.')
except ValueError:
    print('Debes introducir un número entero')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar