Ejercitación de salida de resultados por pantalla
-
¿Qué imprime en pantalla el siguiente código?
Haz clic aquí para ver la solución propuesta
En este caso,
"Pepe"
,"y"
y"José"
son cadenas de caracteres que se pasan como argumentos a la funciónprint()
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ónprint()
por defecto.
-
Refactoriza1 el siguiente programa para que devuelva la misma salida, pero pasando a la función
print()
un solo argumento: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
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
O también
Para cualquiera de los casos, el resultado será el mismo:
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ónprint()
por defecto.
-
Teniendo en cuenta el ejercicio anterior, imprimir en pantalla el texto
"Hola Mundo!"
utilizando, en un solo argumento de la funciónprint()
, 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ámetrossep
yend
de la funciónprint()
para lograr el resultado propuesto.Haz clic aquí para ver la solución propuesta
Python 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ónprint()
. 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ámetroend
deprint()
durante la ejecución del programa.
En este caso, se establece que el argumentoend
deprint()
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ónprint()
por defecto.
-
Imprimir en pantalla "Hola Mundo!" utilizando una variable que contenga dicho texto almacenado previamente.
Haz clic aquí para ver la solución propuesta
Python En este caso,
"Hola Mundo!"
se almacena en la variablesaludo
. Luego, la variablesaludo
se pasa como un argumento a la funciónprint()
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ónprint()
por defecto.
-
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) Haz clic aquí para ver la solución propuesta
Python ``` 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 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.
-
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: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.
-
Modifica el programa del ejercicio anterior para que la salida sea:
Haz clic aquí para ver la solución propuesta
En este caso,
"Tengo"
,14
y"años"
se pasan como argumentos a la funciónprint()
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.
-
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 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ónprint()
. La funciónstr(14)
convierte el número entero14
en una cadena de caracteres"14"
para poder concatenarlo con otras cadenas dentro del mismo argumento.
-
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
En este caso,
3 + 5
se evalúa primero, resultando en8
, que luego se pasa como un argumento a la funciónprint()
y se imprime en la salida estándar.
-
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:Haz clic aquí para ver la solución propuesta
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 deprint()
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ámetroend
, si no figura, se encontrará implícito como un espacio en blanco.
-
Refactoriza1 el programa del ejercicio anterior para que devuelva la misma salida, pero pasando a la función
print()
un solo argumento:Haz clic aquí para ver la solución propuesta
Aquí podemos observar al operador de concatenación
+
uniendo las cadenas de caracteres"El resultado de 3 + 5 es "
ystr(3+5)
para formar una sola cadena de caracteres que se pasa como argumento a la funciónprint()
.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.
-
Agregar al programa del ejercicio anterior, a continuación, otra función que imprima en pantalla "Esto se imprime en la misma línea."
Haz clic aquí para ver la solución propuesta
En este caso, la primera función
print()
recibe 2 argumentos y el parámetroend
modificado para que no imprima un salto de línea al final de la impresión. La segunda funciónprint()
recibe un solo argumento y se imprime en la misma línea que la primera funciónprint()
debido a que el parámetroend
de la primera funciónprint()
no imprime un salto de línea al final de la impresión. Esta segunda funciónprint()
si imprime un salto de línea al final de la impresión por defecto.
-
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:
Es decir, que intercale la frase "el número" entre ambos argumentos.
No está permitido intercalar un argumento ni modificar los dos argumentos originales.
Haz clic aquí para ver la solución propuesta
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.
-
Imprimir la negación de la siguiente frase:
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
En este caso,
"Mafalda siempre dice: A mi"
,"me encanta la sopa."
y el parámetrosep
modificado se pasan como argumentos a la funciónprint()
. El parámetrosep
se modifica para que imprima la frase"no"
entre las dos cadenas de caracteres, en lugar de imprimir solo un espacio entre ellas.
-
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:Haz clic aquí para ver la solución propuesta
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:
En este caso, no se modifica el parámetro
end
de la primera funciónprint()
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ónprint()
.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.
-
¿Cuál es el programa que imprime en pantalla el siguiente texto, empleando una sola función
print()
?Haz clic aquí para ver la solución propuesta
En este caso,
"Pepe"
,"José"
,"Ana"
y el parámetrosep
modificado se pasan como argumentos a la funciónprint()
. El parámetrosep
se modifica para que imprima un salto de línea entre cada cadena de caracteres, en lugar de imprimir solo un espacio entre ellas.
-
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.Haz clic aquí para ver la solución propuesta
Pythonprint("a", "b", "c", sep =", ", end=", ") print("d", end=", ") print("e", "f", sep =", ", end=".\n")
En este caso, se modifican los parámetros
sep
yend
de las funcionesprint()
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ónprint()
, el parámetrosep
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ónprint()
, el parámetroend
se modifica para que no imprima un salto de línea al final de la impresión. En la tercera funciónprint()
, el parámetroend
se modifica para que imprima un punto y un salto de línea al final de la impresión.
-
Completa el siguiente programa para obtener la siguiente impresión por pantalla.
Terminal (Entrada/Salida) Haz clic aquí para ver la solución propuesta
En este caso, se modifican los parámetros
sep
yend
de la funciónprint()
para que se imprima la cadena de caracteres"1 : 2 : 3 : 4 : 5"
en una sola línea. El parámetrosep
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ámetroend
se modifica para que no imprima un salto de línea al final de la impresión.
-
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:
Haz clic aquí para ver la solución propuesta
En este caso,
"Primero"
,"Segundo"
,"Tercero"
, el parámetrosep
modificado y el parámetroend
modificado se pasan como argumentos a la funciónprint()
. El parámetrosep
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ámetroend
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.
-
Completa el siguiente programa para obtener la siguiente impresión por pantalla, sin modificar ningún argumento:
Haz clic aquí para ver la solución propuesta
En este caso, se modifica el parámetro
end
de la primera funciónprint()
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ónprint()
, se modifica el parámetroend
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
-
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. ↩↩