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 hacer que la salida de la consola o terminal cambie simplemente cambiando una variable en el script de Python?

Buen día a todos. Tal vez hay algo que no entiendo. ¿Cómo puedo lograr que la salida de mi consola cambie solo al cambiar una variable en este caso a, b o c, sin actualizar la consola? O bien obtengo que se imprima una vez y luego tengo un indicador parpadeante o imprime una gran cantidad de líneas. Aquí está mi prueba:

a = 1 
b = 1 
c = 1 
print(a, b, c)

def messenger():
    while a and b and c:
        print("Verdadero")
    else:
        print("Falso")
        time.sleep(5)

Entonces, si cambio las variables: a, b o c en el script, guardo el archivo y solo observo la consola para ver un cambio. Cualquier ayuda sería muy apreciada.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para lograr esto, puedes utilizar la función input() en Python. Esta función te permite tomar la entrada del usuario mientras tu programa se está ejecutando. Puedes usarla para cambiar los valores de las variables y ver el cambio en la salida sin tener que volver a cargar la consola. Aquí tienes un ejemplo:

    a = 1
    b = 1
    c = 1
    
    def messenger():
        while a and b and c:
            print("Verdadero")
        else:
            print("Falso")
            time.sleep(5)
    
    while True:
        print(a, b, c)
    
        # Obtener entrada del usuario
        user_input = input("Ingresa a, b o c para cambiar su valor: ")
    
        # Actualizar variables basado en la entrada del usuario
        if user_input == "a":
            a = int(input("Ingresa el nuevo valor para a: "))
        elif user_input == "b":
            b = int(input("Ingresa el nuevo valor para b: "))
        elif user_input == "c":
            c = int(input("Ingresa el nuevo valor para c: "))
    
        # Llamar a la función messenger
        messenger()
    

    En este ejemplo, el programa imprime constantemente los valores actuales de a, b y c y espera a que el usuario ingrese a, b o c para cambiar su valor. Luego, el programa actualiza la variable correspondiente y llama a la función messenger() para mostrar la salida actualizada.

    Ten en cuenta que este programa seguirá ejecutándose hasta que lo detengas manualmente. Si deseas salir del programa, puedes agregar una condición dentro del bucle while que verifique una entrada específica del usuario para salir, o puedes utilizar una interrupción de teclado (presionando Ctrl + C) para detenerlo.

Comments are closed.