El uso de print(...) es la sentencia que nos permite visualizar los datos o resultados en la forma que querramos.
Veamos algunos ejemplos simples
>>>msg = "Ese es un mensaje de prueba de la impresión de cadena\nusando la sentencia print(...) de Python.\nEsperemos que sea de su agrado.\n\nice."
Una impresión vacía:
Cinco veces una impresión vacía:
>>>for veces in range(4): print()
>>>print()
Ahora nuestro msg previo:
>>>print(msg)
Ese es un mensaje de prueba de la impresión de cadena
usando la sentencia print(...) de Python.
Esperemos que sea de su agrado.
ice.
Primera forma de usar print(...)
Si
>>>x = 12+5*(28-120/15)-10
Podemos imprimir el valor de x con:
>>>print(x)
Aunque mejor será si usamos:
>>>print("El valor de x es:",x) También se puede imprimir:
>>>print("El valor de y = ",12+5*3**3-20)
El valor de y = 127
Y ¿por qué debo separar con una coma el texto del valor numérico a imprimir?
>>>print("El valor de x es:"+x)
No se puede sumar una cadena de caracteres con un número !!!
Segunda forma de usar print(...)
Podemos evitar el uso de la coma (es mejor en algunos casos), usando la función repr.
Veamos qué hace esta función:
>>>print("El valor de x es:"+repr(x))
El valor de x es:102.0
Y ¿porqué ocurre esto?
Veamos el resultado de aplicar repr a un valor numérico como x:
>>>repr(x)
'102.0'
A una cadena d texto
>>>a = "Hola "
>>>b = "Báslavi !!!"
>>>repr(a)
"'Hola '"
En ambos casos ha convertido al objeto en una cadena de caracteres encerrado con una comilla ('), que se usa en lugar de (") para el manejo de textos.
Luego el print "sumando" cadena y texto del objeto no es nada raro.
>>>y = print(a+b+", el valor de x es "+repr(x)+" mientras que "+ "y = repr(12+5*3**3-20) es: "+ repr(12+5*3**3-20))
Hola Báslavi Cóndor, el valor de x es 102.0 mientras que y = repr(12+5*3**3-20) es: 127
Tercera forma de usar print(...)
Hablemos de frutas. En cuatro cestos tenemos:
>>> x=(12,45,18,22)
>>>cantFruta = ("Peras","Naranjas","Manzanas","Plátanos")
Tipo de datos
>>>print(type(x))
< >>>print(type(cantFruta))
Queremos imprimir la lista de las frutas:
>>>print("En los cestos hay:\n")
>>> for i in range(4): print(x[i], cantFruta[i])
12 Peras
45 Naranjas
18 Manzanas
22 Plátanos
Explotemos a la senencia for:
>>>for i in range(1,50):
>>>for i in range(1,50):
print(i,i**2,i**3,np.sqrt(i),np.power(i,1/3))
Cuarta forma de usar print(...)
print(cadDeFormato.format(variables))
donde
- cadDeFormato es una cadena de la forma n:mF encerrado entre llaves. Una o más de ellas según las variables que se van a imprimir. F puede ser f (float), d(entero), s(cadena de caracteres), según el tipo de variable. n indica el número de variable en la lista, empezando en 0 y m, el espacio asignado para imprimir la variable.
- format, palabra que encierra entre paréntesis a las variables que se van a imprimir
Ejemplos
>>>x = 12
>>>y = 25.284762
>>>print("{0:4d}".format(x))
>>>print("Valor de {0:10d}".format(x))
>>>print("Valor de x = {0:10d} soles".format(x))
>>>print("El valor de x es: {0:4d} Y el avalor de y es: {1:8f}".format(x,y))
Ojo con esto:
>>>print("{0:4f}".format(x))
>>>print("{0:4d}".format(y))
Una variable entera puede imprimirse con formato flotante (real con decimales) pero no una variable flotante como entero; requiere formato especial
Veamos si se incluye una cadena de texto
>>>msg = "Este es un mensaje de Groenlandia"
>>>print("{0:5s} {1:5d} {2:6f}".format(msg,x,y))
Pero msg tiene
>>>len(msg)
En consecuencia, no le afectó el uso de 0:5s. Y ¿qué sucede si usamos 0:50s?
>>>print("{0:50s} {1:5d} {2:12f}".format(msg,x,y))
O este otro:
>>>print("{0:33s}{1:3d} {2:12f}".format(msg,x,y))
Con esto en mente, arreglemos la tabla anterior de los cuadrados, cubos, etc.
>>>for i in range(1,50):
print("{0:2d} {1:5d} {2:6d} {3:10f} {4:10f}".format(i,i**2,i**3,np.sqrt(i),np.power(i,1/3)))
Esto sí es elegante.
Reto: Haga que esta tabla tenga como título: Tabla de los primeros 50 números
Finalmente, el formato clásico, proveniente del C.
print(cadenaFormato%variables)
donde
cadenaFormato: Como en el caso anterior, tiene la forma de "%n.mF", con F: d, f ó s
variables: Si son más de uno, encerrados entre parénesis, contiene la lista de las variables a ser impresas.
>>>print("%5.3f."%y)
>>>print("%5.6d"%x)
>>>print("%5.6d"%y)
>>>print("%0.2d"%x) O también
>>>print("%35s %4d %5.8f"%(msg,x,y))
Continuar en la siguiente sesión