es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Existe alguna forma de generar un mensaje de error para un valor incorrecto en un campo?

Estoy escribiendo un código Python para generar un contrato cuando se completan campos específicos. El campo de fecha acepta cualquier valor en lugar de dd/mm/aaaa. Quiero que se genere un mensaje de error cuando se ingresa un valor incorrecto y hasta que se ingrese el formato correcto, el usuario no puede pasar al siguiente campo.

# 1. Obtener entrada del usuario
print("¡Hola, bienvenido al generador de contratos de alquiler!")
def get():
    first = input("Ingresa tu nombre: ")
    last = input("Ingresa tu apellido: ")
    bday = input("Ingresa tu fecha de nacimiento (dd/mm/aaaa): ")
    address = input("Ingresa tu dirección: ")
    userid = input("Ingresa tu número de identificación: ")

    inputdata = (first, last, bday, address, userid)
    print("¡Hola " + first + "! ¡Tu contrato de alquiler está listo ahora! :)")
    return inputdata
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para asegurar que el campo de fecha se ingrese correctamente, puedes validar la entrada del usuario usando expresiones regulares.

    Aquí tienes una versión actualizada del código, con validación para el campo de fecha:

    import re
    
    def get():
        print("¡Hola! ¡Bienvenido al generador de contratos de alquiler!")
        first = input("Ingresa tu nombre: ")
        last = input("Ingresa tu apellido: ")
    
        # Validar el campo de fecha usando expresiones regulares
        while True:
            bday = input("Ingresa tu fecha de nacimiento (dd/mm/aaaa): ")
            # Usar expresiones regulares para verificar si la fecha se ingresó en el formato correcto
            # "^\d{2}\/\d{2}\/\d{4}$" coincide con fechas en el formato "dd/mm/aaaa"
            if re.match("^\d{2}\/\d{2}\/\d{4}$", bday):
                break
            else:
                print("Por favor, ingresa la fecha en el formato correcto - dd/mm/aaaa")
    
        address = input("Ingresa tu dirección: ")
        userid = input("Ingresa tu número de identificación: ")
    
        inputdata = (first, last, bday, address, userid)
        print("¡Hola " + first + "! " + "Tu contrato de alquiler está listo ahora :)")
    
        return inputdata
    

    Este código verificará si la fecha ingresada sigue el formato “dd/mm/aaaa”. Si el formato es incorrecto, mostrará un mensaje de error y pedirá al usuario que ingrese la fecha nuevamente. Solo cuando se ingrese el formato correcto, el usuario podrá pasar al siguiente campo.

Comments are closed.