Hoy veremos cómo alinear y rellenar el espacio al imprimir datos en Python usando la función print. Por ejemplo, alinear un número en una tabla y rellenar el espacio sobrante sin importar la longitud del número.
También vamos a ver cómo alinear una cadena a la izquierda o derecha sin importar el tipo de dato.
Finalmente te mostraré un ejemplo de una tabla alineada en donde no va a importar la longitud de los datos impresos.
Para alinear texto en Python vamos a usar la función format
que tienen todas las cadenas. Esta función permite hacer bastantes cosas, entre ellas alinear a la izquierda o derecha dejando determinada cantidad de espacios en blanco.
La sintaxis es:
cadena.format(valores)
Cada valor que se va a formatear está encerrado entre llaves {}
. Dentro de las llaves no va el valor, sino el formato, ya que el valor se pasa como argumento al invocar a format
. Entenderás mejor en los ejemplos.
Veamos ahora cómo usarla para alinear datos.
Para formatear y alinear una cadena a la izquierda usamos :<cantidad_espacios
. Por ejemplo, lo siguiente va a asegurarse de que el texto impreso mida al menos 20 caracteres (lo sobrante lo va a reemplazar por espacios)
nombre = "Luis"
print("|{:<20}|".format(nombre))
# Salida:
# |Luis |
Para el caso contrario (usar print
para alinear a la derecha) usamos casi el mismo formato pero ahora usamos el signo de mayor qué: >
El ejemplo queda así:
nombre = "Luis"
print("|{:>20}|".format(nombre))
# | Luis|
Para terminar te voy a mostrar un ejemplo. En este caso vamos a imprimir cadenas y flotantes. Las cadenas van a ir alineadas a la izquierda, y los flotantes a la derecha. El ejemplo queda así:
"""
https://parzibyte.me/blog
"""
datos = [
{
"nombre": "Luis C.B.",
"promedio": 9.5,
},
{
"nombre": "John G.",
"promedio": 8.96,
},
{
"nombre": "Leon Scott",
"promedio": 9.22,
},
]
print("+--------------------+----------+")
print("|Nombre |Promedio |")
print("+--------------------+----------+")
for dato in datos:
nombre = dato["nombre"]
promedio = dato["promedio"]
cadena = "|{:<20}|{:>10.2f}|".format(nombre, promedio)
print(cadena)
print("+--------------------+----------+")
Fíjate en que ahora estoy separando los conceptos y primero formateo la cadena para imprimirla más tarde. También quiero que notes que agregué .2f
después de >10
para indicar que el decimal debe mostrarse con dos decimales.
La salida es:
A partir del ejemplo puedes ver cómo es que se pueden alinear los datos en Python, combinarlos, concatenarlos, etcétera.
Te dejo con más tutoriales de Python.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.