Python Salida avanzada

Enviado por jalemany el Mié, 03/06/2020 - 16:19

Este manual está escrito en formato teatral entre PyBOT, un robot profesor de Python y Marcos, un estudiante interesado en aprender Python.

PyBOT: ¡Vale, ya tengo la respuesta del sentido de la vida!

Marcos: ¿Ah si? ¿y cual es?

PyBOT: ¿Como quieres que te lo diga? ¡Es muy complicado de escribir!

Marcos:  ¡Dimelo como un entero!

PyBOT: "La respuesta es 42.". En general en los problemas competitivos, tendremos una entrada, pero siempre necesitamos una salida. Si nuestro programa no es capaz de mostrar el resultado, entonces no sabremos si ha hecho su tarea correctamente. Hay algunas excepciones (por ejemplo si tenemos que programar una función), pero normalmente querremos escribir el resultado por la pantalla.

Marcos: Vale, esto se consigue usando print. Pero, ¿es que hay más cosas sobre la salida?

PyBOT: Puedes formatear la entrada usando la función format. Esto te permitirá insertar variables dentro del string, controlar cuantos decimales quieres mostrar, o si quieres poner los números en columna. Mira el siguiente ejemplo:

a=42
print('La respuesta es {0:2d}.'.format(a))

Marcos: Vale, creo que te estás acelerando. ¿Qué es {0:2d}?

PyBOT: El 0 es el índice dentro de los parametros de format. Mira este ejemplo:

a=3
b=4
c=a+b
print('{0} + {1} = {1} + {0} = {2}'.format(a,b,c))

Escribirá "3 + 4 = 4 + 3 = 7"

Marcos: ¿y el 2d?

PyBOT: El 2 es el número de espacios reservados. Nos puede servir para escribir en columnas. También puedes controlar los decimales que dejamos. Por ejemplo este código:

import math
print('La respuesta es {0:7.2f}.'.format(math.pi))

Escribirá "La respuesta es    3.14." Donde vemos que ha dejado suficientes espacios para guardar 7 caracteres. La f es de float, y el 2 que le precede son el número de decimales.

Marcos: No veo exactamente los espacios...

PyBOT: Si pones el código siguiente usará 0 en lugar de espacios.

import math
print('La respuesta es {0:07.2f}.'.format(math.pi))

y obtendremos "La respuesta es 0003.14."

Marcos: Muchas gracias, ¡ahora ya puedo seguir practicando!

PyBOT: Sí, ¡la práctica te hará un buen programador! Si quieres saber más puedes buscar "Python Output" y seguro que encuentras muchos artículos interesantes. Recuerda que aquí solo te he presentado una pequeña parte.

Printer Friendly, PDF & Email

Añadir nuevo comentario

Texto sin formato

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.