Python Variables

Enviado por jalemany el Mar, 01/10/2019 - 19:06

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

Marcos: OK! He aprendido a escribir un texto estático con la instrucción print, ¿qué más voy a necesitar?

PyBOT: Puede que te interese hacer un programa que acepte distintos inputs. Para ello vas a necesitar variables. En Python las variables no se declaran, y no tienen un tipo asignado, sino que cogen el tipo del valor al que se le asigne. Así pues 

a=2+3
b="2+3"

 son dos variables de tipos distintos, la primera tiene el valor entero 5, mientras que la segunda es el texto "2+3".

Ahora plantéate el problema de escribir los números del 0 al 9.

Marcos: Ok, ya lo sé hacer:

print ("0 1 2 3 4 5 6 7 8 9")

PyBOT: Aunque tu solución funciona, no acaba de solucionar el problema genérico. Nos gustaría hacer una acción repetida, así que vamos a usar un loop, el for.

for i in range (10):
  print (i)

si tradujésemos esto al castellano nos estaría indicando: para i en el rango (10). range (10) son los números de 0 a 9. Ampliando el número de parámetros de esta función podemos tener otros "rangos". Por ejemplo:

for i in range (6,10):
  print (i)

Escribe los números 6 7 8 y 9.

for i in range(6,19,2):
  print (i)

Escribe los números de 6 a 18 pero saltando de 2 en 2.

Marcos: Creo que lo he entendido. La variable i es un valor que va cambiando entre las opciones que pongo dentro del rango. 

PyBOT: Efectivamente. Si ponemos, por ejemplo:

for c in "patata":
  print (c+",")

c obtendrá las distintas letras de patata, así que escribirá:

p,

a,

...

a,

Marcos: Ok, me parece un concepto interesante, pero, ¿hay otras maneras de recorrer una palabra?

PyBOT: Efectivamente, podríamos recorrer la palabra teniendo un índice y accediendo a cada letra. El acceso a las letras es con la notación de corchete. Mira este ejemplo:

palabra = "patata"
longitud = len(palabra)
for i in range(longitud):
  print (palabra[i]+",")

Así, el acceso a un carácter concreto se hace indicando la posición entre corchetes.

Marcos: Si yo quisiera poner el índice y la letra, ¿cómo lo puedo hacer?

PyBOT: Para poder juntar variables de tipos distintos, podemos transformarlo todo en palabras y usar la función print.

Por ejemplo, observa el código siguiente:

palabra = "patata"
longitud = len(palabra)
for i in range(longitud):
  print (str(i)+palabra[i])

str(i) interpreta el número i como si fuese una palabra. Por ejemplo 10 lo interpreta como "10".

Si queremos interpretar una palabra como un valor tenemos que hacer int(palabra). Así, int ("110") sería equivalente a tener el número 110.

Marcos: ¿Y no existe una manera más sencilla de mostrar variables de diferentes tipos en una misma línea?

PyBOT: Otra manera, más sencilla, es separar las variables con comas. Es sencilla pero no te permitirá definir cómo quieres que se muestre todas esas variables, las mostrará siempre separadas con un espacio:

palabra = "patatas"
cantidad = 5
print ("He comprado", cantidad, palabra)

Marcos: Gracias, ahora ya sé un poco más del funcionamiento de las variables.

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.