Python - ¿Como limitar la cantidad de caracteres en un input()?

 
Vista:

¿Como limitar la cantidad de caracteres en un input()?

Publicado por Zectas2 (1 intervención) el 10/06/2023 03:54:45
Soy estudiante de informatica y me quedo la duda con un ejercicio habia que hacer funciones para cada opcion y esta era la mas complicada:

● Grabar: Corresponde a guardar ciertos datos de un vehículo, entre ellos: Tipo, patente, marca y precio, multas (monto y fecha), fecha de registro del vehículo y nombre del dueño.
Además, debe verificar que la patente sea correcta,

la marca considere entre 2 y 15 caracteres y el precio sea mayor a $5.000.000.

¿Como pongo limites a un input()?

De momento esto e slo que llevo:

vehiculo = ["Tipo de Vehiculo: ","Patente: ","Marca: ","Fecha de Registro: ","Dueño: ", "Precio: ",]
def grabar():
vehiculo.insert(1,(input("Tipo: ")))
vehiculo.insert(3,(input("Patente: ")))
vehiculo.insert(5,(input("Marca: ")))
vehiculo.insert(7,(input("Fecha de Registro: ")))
vehiculo.insert(9,(input("Nombre de Dueño: ")))
vehiculo.insert(11,((int(input("Precio: ")))))
a = int(input("¿Has sido multado? (1)Si / 2)No) "))
if a == 1:
print("Ingresa los Datos de la Ultima Multa que has tenido.")
vehiculo.append("Monto de Multa: ")
vehiculo.append("Fecha de Multa: ")
vehiculo.insert(13(input("Monto de Multa: $")))
vehiculo.insert(15(input("Fecha de Multa: ")))
elif a == 2:
b = int(input("¿Desea Grabar los Datos Ingresados? (1)Si / 2)No): "))
if b == 1:
print("Se han guardado los Datos Satisfactoriamente.")
else:
vehiculo.pop
print(grabar())
print(vehiculo)
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

¿Como limitar la cantidad de caracteres en un input()?

Publicado por antonio (65 intervenciones) el 11/06/2023 12:07:23
Hola buenas una solución que se me ocurre puede que no sea la mejor solución es pedir el dato en un bucle y que el len del dato que pidas no este entre dos vuela a pedirlo ejemplo simplificado:

1
2
3
4
dato =""
 
while len(dato)<3 or len(dato)>14:
    dato = input("Pon el dato: \n")
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
Val: 765
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

¿Como limitar la cantidad de caracteres en un input()?

Publicado por dario (185 intervenciones) el 12/06/2023 11:56:24
Esto tambien te puede ayudar.
Salu2

1
2
3
4
5
6
7
8
9
salir = True
while salir:
    marca = input('Ingrese marca del vehiculo: ')
    if len(marca) < 2 or len(marca) > 15:
        print('Debe tener entre 2 y 15 caracteres')
        continue
    else:
        print('Registro exitoso')
        salir = False
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

¿Como limitar la cantidad de caracteres en un input()?

Publicado por Zectas2 (1 intervención) el 12/06/2023 19:01:17
gracias, no sabia que se podia usar el 'len()' de esa forma la verdad no lo pense :) y el 'continue' no me funciono muy bien mas bien no tengo del todo claro que es lo que hace
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

¿Como limitar la cantidad de caracteres en un input()?

Publicado por rolando Jose Torres Sanchez (44 intervenciones) el 12/06/2023 15:49:55
la verdad deje de hacer programas de consola hace como 25 años, en todos los lenguajes que conozco. normalmente te diría que hagan un evento que bloquee el teclado después de recibir tantos caracteres como quieras limitar.

Si quieres que el input no supere las 8 caracteres, haz un evento que bloquee el teclado después de 8 veces que sea llamado, quizás tengas que crear un archivo, pues una variable estará activa solo mientras el evento este activo, pero el evento se ejecuta y termina unos pocos milisegundos después de ser activado, por lo que deberás escribir el registro en un archivo. el chatgpt no te podrá ayudar porque eso básica mente es un keyloguer y eso se considero como virus hace mas de 20 años.
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