Saltar a contenido

Ejercitación de salida de resultados por pantalla

  1. ¿Qué imprime en pantalla el siguiente código?

    Python
    print("Pepe", "y", "José")
    
    Haz clic aquí para ver la solución propuesta
    Terminal (Entrada/Salida)
    Pepe y José
    _
    

    En este caso, "Pepe", "y" y "José" son cadenas de caracteres que se pasan como argumentos a la función print() y se imprimen en la salida estándar. El símbolo _ significa que el cursor queda en esa línea de la Terminal luego del salto de línea producido por la función print() por defecto.


  2. Refactoriza1 el siguiente programa para que devuelva la misma salida, pero pasando a la función print() un solo argumento:

    Python
    # Esta función recibe 2 argumentos
    print("Hola", "Mundo")
    
    Terminal (Entrada/Salida)
    Hola Mundo
    _
    

    No puedes unir las dos cadenas de caracteres en una sola, si no que debes relacionarlas de alguna manera para formen parte del mismo argumento que se le pasará a la función print() para que imprima.

    Haz clic aquí para ver la solución propuesta
    Python
    print("Hola" + " " + "Mundo")
    

    En este caso, concatenamos (unimos) las dos cadenas de caracteres con un espacio en blanco entre ellas para que se imprima correctamente.

    También podría haber sido

    Python
    print("Hola " + "Mundo")
    

    O también

    Python
    print("Hola" + " Mundo")
    

    Para cualquiera de los casos, el resultado será el mismo:

    Terminal (Entrada/Salida)
    Hola, Mundo!
    _
    

    El símbolo _ significa que el cursor queda en esa línea de la Terminal luego del salto de línea producido por la función print() por defecto.


  3. Teniendo en cuenta el ejercicio anterior, imprimir en pantalla el texto "Hola Mundo!" utilizando, en un solo argumento de la función print(), una cadena de caracteres por cada palabra sin incluir en ellas el signo de exclamación ni el espacio.
    Puedes agregar otras cadenas de caracteres si lo consideras necesario e incluso modificar los parámetros sep y end de la función print() para lograr el resultado propuesto.

    Terminal (Entrada/Salida)
    Hola Mundo!
    _
    
    Haz clic aquí para ver la solución propuesta
    Python
    # Imprime en pantalla la cadena de caracteres "Hola Mundo!" utilizando una cadena de caracteres por cada palabra en un solo argumento, y sin incluir en ellas el signo de exclamación
    print("Hola" + " " + "Mundo", end="!\n")
    
    Terminal (Entrada/Salida)
    Hola Mundo!
    _
    

    En este caso, "Hola", " " y "Mundo" son cadenas de caracteres que se concatenan utilizando el operador de concatenación + y se pasan como un solo argumento a la función print(). Es decir que un operador de concatenación + se utiliza para unir dos cadenas de caracteres en una sola cadena, una a continuación de la otra, sin agregar otro caracter entre ellas.

    El parámetro end="!\n" se utiliza para modificar el comportamiento del parámetro end de print() durante la ejecución del programa.
    En este caso, se establece que el argumento end de print() sea "!\n", lo que significa que se imprimirá un signo de exclamación y se mantiene el comportamiento por defecto del parámetro que es un salto de línea al final de la impresión. El símbolo _ significa que el cursor queda en esa línea de la Terminal luego del salto de línea producido por la función print() por defecto.


  4. Imprimir en pantalla "Hola Mundo!" utilizando una variable que contenga dicho texto almacenado previamente.

    Haz clic aquí para ver la solución propuesta
    Python
    1
    2
    3
    # Almacena la cadena de caracteres "Hola Mundo!" en una variable y luego imprime en pantalla la cadena de caracteres almacenada en la variable
    saludo = "Hola Mundo!"
    print(saludo)
    
    Terminal (Entrada/Salida)
    Hola Mundo!
    _
    

    En este caso, "Hola Mundo!" se almacena en la variable saludo. Luego, la variable saludo se pasa como un argumento a la función print() y se imprime en la salida estándar. La salida en la Terminal (Entrada/Salida) es la cadena de caracteres "Hola Mundo!". El símbolo _ significa que el cursor queda en esa línea de la Terminal luego del salto de línea producido por la función print() por defecto.


  5. Modifica el código anterior para que la variable contenga tu nombre y de esta manera poder imprimir en pantalla un saludo personalizado.
    Por ejemplo, si el nombre almacenado en la variable es "Pablo", la salida debería ser:

    Terminal (Entrada/Salida)
    Hola Pablo!_
    
    Haz clic aquí para ver la solución propuesta
    Python
    1
    2
    3
    # Almacena tu nombre en una variable y luego imprime en pantalla un saludo personalizado utilizando varios argumentos y el parámetro end modificado
    nombre = "Pablo"
    print("Hola", nombre, end="!")
    

    ``` py title="Terminal (Entrada/Salida)" numlines="1" Hola Pablo!_

    > En este caso, `"Pablo"` se almacena en la variable `nombre`.
    > Luego, las cadenas de caracteres `"Hola"` y `nombre` se pasan como argumentos a la función `print()` y se imprimen en la salida estándar. 
    > El parámetro `end="!\n"` se utiliza para modificar el comportamiento del parámetro `end` de `print()` durante la ejecución del programa.
    
    > El símbolo `_` significa que el cursor queda en la misma línea de la Terminal donde se imprimieron los argumentos de la función `print()` ya que se modificó el parámetro end para que no realice el salto de línea por defecto.
    
    Veamos otras posibles respuestas. Presta atención y asimila los conceptos que se presentan en cada una de ellas.  
    Mira que no vamos a estar haciendo esto con cada ejercicio. Tu deberás poder decidir en cada problema futuro cuál será la mejor alternativa de solución.
    
    ``` py title="Python - Opción alternativa 1" linenums="1"
    # Almacena tu nombre en una variable y luego imprime en pantalla un saludo personalizado utilizando un argumento concatenado
    nombre = "Pablo"
    print("Hola" + " " + nombre + "!", end="")
    

    Python - Opción alternativa 2
    1
    2
    3
    # Almacena tu nombre en una variable y luego imprime en pantalla un saludo personalizado utilizando un dos argumentos y la concatenación de cadenas de caracteres
    nombre = "Pablo"
    print("Hola", nombre + "!", end="")
    

    Como podrás haber observado, puedes utilizar diferentes enfoques para resolver un mismo problema. En este caso, el uso de varios argumentos, o uno concatenado o la mezcla de ambos, son válidos y correctos.


  6. Imprime en pantalla tu edad. La misma debes pasarla como argumento de la función print(). En este caso solo debe ser el número. Por ejemplo, si tienes 14 años, la salida debería ser:

    Terminal (Entrada/Salida)
    14
    _
    
    Haz clic aquí para ver la solución propuesta
    ``` py title="Python" linenums="1"
    # Imprime en pantalla tu edad
    print(14)
    ```
    
    ``` py title="Terminal (Entrada/Salida)" linenums="1"
    14
    _
    ```
    
    > En este caso, `14` se pasa como un argumento a la función `print()` y se imprime en la salida estándar.
    > La salida en la Terminal (Entrada/Salida) es el número `14`.
    > El símbolo `_` significa que el cursor queda en esa línea de la Terminal luego del salto de línea producido por la función `print()` por defecto.
    
    > Recuerda que en Python, los números enteros se pueden pasar directamente como argumentos a la función `print()` sin necesidad de comillas. Es decir, no es necesario que los números enteros se consideren como cadenas de caracteres para imprimirlos en pantalla.
    

  7. Modifica el programa del ejercicio anterior para que la salida sea:

    Terminal (Entrada/Salida)
    Tengo 14 años.
    _
    
    Haz clic aquí para ver la solución propuesta
    Python
    # Imprime en pantalla un mensaje personalizado con tu edad
    print("Tengo", 14, "años.")
    
    Terminal (Entrada/Salida)
    Tengo 14 años.
    _
    

    En este caso, "Tengo", 14 y "años" se pasan como argumentos a la función print() y se imprimen en la salida estándar.

    Aquí estamos mezclando los tipos de datos, es decir, una cadena de caracteres, un número entero y otra cadena de caracteres, en los argumentos de la función print(). Como cada argumento es tratado independientemente de otros argumentos, pueden tener tipos de datos diferentes entre si.


  8. Modifica el programa del ejercicio anterior, respetando los mismos datos, para que la función print() reciba un solo argumento a partir de ellos. No puedes pasar el número como una cadena de caracteres pero si puedes aplicarle otro proceso para adaptarlo.

    Haz clic aquí para ver la solución propuesta
    Python
    # Imprime en pantalla un mensaje personalizado con tu edad utilizando un solo argumento
    print("Tengo " + str(14) + " años.") # str(14) convierte el número entero 14 en una cadena de caracteres "14" para poder concatenarlo con otras cadenas
    
    Terminal (Entrada/Salida)
    Tengo 14 años.
    _
    

    En este caso, "Tengo ", str(14) y " años." se concatenan utilizando el operador de concatenación + y se pasan como un solo argumento a la función print(). La función str(14) convierte el número entero 14 en una cadena de caracteres "14" para poder concatenarlo con otras cadenas dentro del mismo argumento.


  9. Imprimir en pantalla el resultado de la expresión: 3 + 5. Esta expresión debe ser el argumento de la función print().

    Haz clic aquí para ver la solución propuesta
    Python
    print(3+5)
    
    Terminal (Entrada/Salida)
    8
    _
    

    En este caso, 3 + 5 se evalúa primero, resultando en 8, que luego se pasa como un argumento a la función print() y se imprime en la salida estándar.


  10. Modifica el programa del ejercicio anterior para que la salida en pantalla sea "El resultado de 3 + 5 es" y la expresión que devuelva el resultado de la operación:

    Terminal (Entrada/Salida)
    El resultado de 3 + 5 es 8
    _
    
    Haz clic aquí para ver la solución propuesta
    Python
    print("El resultado de 3 + 5 es", 3+5)
    

    La función recibe dos argumentos. Uno de ellos es una cadena de caracteres (texto literal) y el otro es la expresión que se calcula para imprimir su resultado.

    Cuando print() recibe más de un argumento, se comporta como si fueran una serie de print() que se imprimen uno a continuación del otro.

    Aquí entra en efecto el parámetro sep que intercalará lo que tenga almacenado entre argumento y argumento. Recuerda que, al igual que el parámetro end, si no figura, se encontrará implícito como un espacio en blanco.


  11. Refactoriza1 el programa del ejercicio anterior para que devuelva la misma salida, pero pasando a la función print() un solo argumento:

    Python
    # Esta función recibe 2 argumentos
    print("El resultado de 3 + 5 es", 3+5)
    
    Haz clic aquí para ver la solución propuesta
    Python
    # Esta función recibe 1 argumento
    print("El resultado de 3 + 5 es " + str(3+5))
    
    Terminal (Entrada/Salida)
    El resultado de 3 + 5 es 8
    _
    

    Aquí podemos observar al operador de concatenación + uniendo las cadenas de caracteres "El resultado de 3 + 5 es " y str(3+5) para formar una sola cadena de caracteres que se pasa como argumento a la función print().

    La concatenación de cadenas de caracteres es una operación que une dos cadenas de caracteres, una a continuación de otra, devolviendo una nueva cadena de caracteres como resultado.

    En el segundo argumento, la función str() convierte el resultado numérico de la expresión a una cadena de caracteres para poder concatenarlo con la cadena de caracteres que contiene el texto literal en el primer argumento. Recuerda que solo es posible concatenar cadenas de caracteres con otras cadenas de caracteres.


  12. Agregar al programa del ejercicio anterior, a continuación, otra función que imprima en pantalla "Esto se imprime en la misma línea."

    Terminal (Entrada/Salida)
    El resultado de 3 + 5 es 8. Esto se imprime en la misma línea.
    _
    
    Haz clic aquí para ver la solución propuesta
    Python
    print("El resultado de 3 + 5 es", 3+5, end=". ")
    print("Esto se imprime en la misma línea.")
    

    En este caso, la primera función print() recibe 2 argumentos y el parámetro end modificado para que no imprima un salto de línea al final de la impresión. La segunda función print() recibe un solo argumento y se imprime en la misma línea que la primera función print() debido a que el parámetro end de la primera función print() no imprime un salto de línea al final de la impresión. Esta segunda función print() si imprime un salto de línea al final de la impresión por defecto.


  13. Modifica el siguiente código para que imprima en pantalla "El resultado de 3 + 5 es el número" y la expresión que devuelva el resultado:

    Python
    print("El resultado de 3 + 5 es", 3+5)
    

    Es decir, que intercale la frase "el número" entre ambos argumentos.

    Terminal (Entrada/Salida)
    El resultado de 3 + 5 es el número 8.
    _
    

    No está permitido intercalar un argumento ni modificar los dos argumentos originales.

    Haz clic aquí para ver la solución propuesta
    Python
    print("El resultado de 3 + 5 es", 3+5, sep=" el número ")
    

    Modificamos el parámetro sep para que imprima un espacio, la frase indicada y otro espacio, en lugar de imprimir solo un espacio entre argumentos, quedando así la oración bien formada tal como se pide.


  14. Imprimir la negación de la siguiente frase:

    Terminal (Entrada/Salida)
    Mafalda siempre dice: A mi me encanta la sopa.
    _
    
    Pista: ... A mi no me encanta ...

    No puedes intercalar la negación en la cadena de caracteres. Así que deberás utilizar dos cadenas de caracteres e ingeniártelas para que se pueda intercalar la negación.

    Haz clic aquí para ver la solución propuesta
    Python
    print("Mafalda siempre dice: A mi", "me encanta la sopa.", sep=" no ")
    

    En este caso, "Mafalda siempre dice: A mi", "me encanta la sopa." y el parámetro sep modificado se pasan como argumentos a la función print(). El parámetro sep se modifica para que imprima la frase "no" entre las dos cadenas de caracteres, en lugar de imprimir solo un espacio entre ellas.


  15. Imprimir en pantalla tu nombre y apellido utilizando dos funciones print() y dejando un renglón en blanco (salto de línea) entre el nombre impreso y el apellido impreso. Por ejemplo:

    Terminal (Entrada/Salida)
    1
    2
    3
    4
    Pablo
    
    Martínez Roca
    _
    
    Haz clic aquí para ver la solución propuesta
    Python
    print("Pablo", end="\n\n")
    print("Martínez Roca")
    

    Modificamos el parámetro end para que imprima dos saltos de línea en lugar de uno solo.

    Esta es otra manera de resolver el ejercicio:

    Python
    print("Pablo")
    print("\nMartínez Roca")
    

    En este caso, no se modifica el parámetro end de la primera función print() sino que se imprime un salto de línea como primera acción cuando se empieza a imprimir la cadena de caracteres de la segunda función print().

    Aunque es válida, no es la mejor solución ya que SIEMPRE que se pueda evitar modificar las cadenas de caracteres que contienen los datos o la información que maneja el programa, es mejor NO MODIFICARLAS.

    ¿Por qué? Así planteado no tiene mucho sentido, pero cuando veamos variables, si la cadena de caracteres se encuentra almacenada en una variable, cada vez que se use la variable, la cadena de caracteres va a tener incluido el salto de línea. Y si en algún momento se necesita imprimir la cadena de caracteres sin el salto de línea, habría que modificar la variable o crear otra variable que contenga la cadena de caracteres sin el salto de línea.


  16. ¿Cuál es el programa que imprime en pantalla el siguiente texto, empleando una sola función print()?

    Terminal (Entrada/Salida)
    1
    2
    3
    4
    Pepe
    José
    Ana
    _
    
    Haz clic aquí para ver la solución propuesta
    Python
    print("Pepe", "José", "Ana", sep="\n")
    

    En este caso, "Pepe", "José", "Ana" y el parámetro sep modificado se pasan como argumentos a la función print(). El parámetro sep se modifica para que imprima un salto de línea entre cada cadena de caracteres, en lugar de imprimir solo un espacio entre ellas.


  17. Completa el siguiente programa para obtener la siguiente impresión por pantalla.
    No puedes alterar el orden de ningún argumento, ni agregar contenido a ninguno. Tampoco puedes modificar la cantidad de funciones empleadas.

    Python
    print("a", "b", "c")
    print("d")
    print("e", "f")
    
    Terminal (Entrada/Salida)
    a, b, c, d, e, f.
    _
    
    Haz clic aquí para ver la solución propuesta
    Python
    print("a", "b", "c", sep =", ", end=", ")
    print("d", end=", ")
    print("e", "f", sep =", ", end=".\n")
    

    En este caso, se modifican los parámetros sep y end de las funciones print() para que se imprima la cadena de caracteres "a, b, c, d, e, f." en una sola línea. En la primera y tercera función print(), el parámetro sep se modifica para que imprima una coma y un espacio entre cada cadena de caracteres, en lugar de imprimir solo un espacio entre ellas. En la primera y segunda función print(), el parámetro end se modifica para que no imprima un salto de línea al final de la impresión. En la tercera función print(), el parámetro end se modifica para que imprima un punto y un salto de línea al final de la impresión.


  18. Completa el siguiente programa para obtener la siguiente impresión por pantalla.

    Python
    print("1", "2", "3", "4", "5")
    
    Terminal (Entrada/Salida)
    1 : 2 : 3 : 4 : 5_
    
    Haz clic aquí para ver la solución propuesta
    Python
    print("1", "2", "3", "4", "5", sep=" : ", end="")
    

    En este caso, se modifican los parámetros sep y end de la función print() para que se imprima la cadena de caracteres "1 : 2 : 3 : 4 : 5" en una sola línea. El parámetro sep se modifica para que imprima dos puntos y un espacio entre cada cadena de caracteres, en lugar de imprimir solo un espacio entre ellas. El parámetro end se modifica para que no imprima un salto de línea al final de la impresión.


  19. Escribe el programa que imprima en pantalla la siguiente salida utilizando una sola función print() con tres argumentos que solo almacenan cada palabra correspondiente y que el cursor quede al final del tercer renglón:

    Terminal (Entrada/Salida)
    1
    2
    3
    Primero,
    Segundo, 
    Tercero.-_
    
    Haz clic aquí para ver la solución propuesta
    Python
    print("Primero", "Segundo", "Tercero", sep=",\n", end=".-")
    

    En este caso, "Primero", "Segundo", "Tercero", el parámetro sep modificado y el parámetro end modificado se pasan como argumentos a la función print(). El parámetro sep se modifica para que imprima una coma y un salto de línea entre cada cadena de caracteres, en lugar de imprimir solo un espacio entre ellas. El parámetro end se modifica para que imprima un punto y un guion al final de la impresión, en lugar de imprimir solo un salto de línea al final de la impresión.


  20. Completa el siguiente programa para obtener la siguiente impresión por pantalla, sin modificar ningún argumento:

    Python
    print("Pepe")
    print("no hizo la tarea")
    
    Terminal (Entrada/Salida)
    Pepe no hizo la tarea.
    _
    
    Haz clic aquí para ver la solución propuesta
    Python
    print("Pepe", end=" ")
    print("no hizo la tarea", end=".\n")
    

    En este caso, se modifica el parámetro end de la primera función print() para que imprima un espacio en blanco al final de la impresión, en lugar de imprimir un salto de línea al final de la impresión. En la segunda función print(), se modifica el parámetro end para que imprima un punto y un salto de línea al final de la impresión.


¡Para recordar!

Durante toda esta ejercitación estuvimos haciendo hincapié en donde queda el cursor cada vez que se emplea la función print() sin modificar el parámetro end, que por defecto es un salto de línea. Lo representamos con el símbolo _ para que puedas visualizarlo.

Pero a partir de ahora ya no haremos mención a este detalle excepto que sea necesario. Será tu obligación recordar donde se posicionará el cursor o posicionarlo donde corresponda según sea indicado.

Referencias


  1. Refactorizar es el proceso de modificar la lógica y el código de un programa existente para mejorar su estructura interna sin cambiar su comportamiento externo. El objetivo de refactorizar es mejorar la legibilidad del código, reducir la complejidad y facilitar el mantenimiento del mismo a largo plazo.

    La refactorización se realiza en pequeños pasos incrementales para minimizar el riesgo de introducir errores en el sistema.