Juego en python: el ahorcado (parte 2)

Comenzamos con el análisis del juego el ahorcado que publique ya hace algún tiempo, puedes ver la entrada aquí.

Ahorcado en python
Juego en python: el ahorcado (parte 2)

import random

Como vamos a tener que utilizar palabras al azar, es necesario importar el módulo random.

AHORCADO = ['''
      +---+
      |   |
          |
          |
          |
          |
    =========''', '''


El resto del código es demasiado largo para colocarlo aquí, pero la variable AHORCADO va hasta el final de la llave ].
Esta linea de código es una simple asignación de variables que se extiende a lo largo de varias lineas.

Lineas múltiples en python

Por lo general cuando escribimos texto en el código este se encuentra en una sola línea. Sin embargo, podemos utilizar tres comillas (""") para comenzar y terminar el texto y así poder escribir la cadena en varias líneas.

Ejemplo: 
>>>prueba = """hola
esto es una prueba
utilizando tres comillas"""

>>>print prueba
hola
esto es una prueba
utilizando tres comillas

Si no tuviéramos las lineas múltiples en python tendríamos que escribir el texto usando n para indicar el salto de línea. Pero esto haría menos legible el código.

Listas en python

Las listas son variables que pueden contener muchos valores en ellas. Probemos escribir lo siguiente en el shell interactivo de python:

>>>frutas = ["manzana", "banana", "pera"]
>>>print frutas
["manzana", "banana", "pera"]

Las listas son una buena manera de almacenar varios valores en una sola variable. Los valores individuales dentro de una lista también se denominan elementos. Los corchetes también se pueden utilizar para obtener un elemento de una lista. Probemos escribir lo siguiente: frutas[0] , frutas[1] y frutas[2].

>>>frutas[0]
"manzana"
>>>frutas[1]
"banana"
>>>frutas[2]
"pera"

El número entre corchetes es el índice. En python, el primer índice es el 0 en lugar del número 1. Así que el primer elemento de la lista está en el índice 0, el segundo en el índice 1, el tercer elemento en el índice 2 y así sucesivamente.
¿Qué sucede si ingresamos un índice mayor al índice más grande de la lista?

>>>frutas[3]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: list index out of range

Si se intenta acceder a un índice más grande recibiremos un error de índice.

Cambiar valores de una lista en python

También se pueden utilizar los corchetes para cambiar los valores en una lista. Probemos hacer lo siguiente en el shell:

>>>frutas = ["banana", "naranja", "pera", "manzana"]
>>>frutas[1] = "pomelo"
>>>print frutas
["banana", "pomelo", "pera", "manzana"]

El segundo elemento de la lista frutas ha sido sobrescrito por una nueva cadena.

Concatenación de listas en python

También podemos unir listas con el operador + al igual que unimos cadenas. Probemos escribir lo siguiente en el shell:

>>>[1, 2, 3, 4] + ["manzana", "banana"] + ["Marcelo", "Diego"]
[1, 2, 3, 4, "manzana", "banana", "Marcelo", "Diego"]

Nos damos cuenta que las listas pueden contener distintos tipos de datos. El ejemplo anterior tiene números enteros y cadenas de texto.

El operador in en python

El operador in hace que sea fácil ver si existe un elemento dentro de una lista. Expresiones que utilizan el operador in devuelve un valor booleano: True si el elemento está en la lista y False si el elemento no se encuentra dentro de la lista. Probemos hacer lo siguiente:

>>>frutas = ["banana", "naranja", "pera", "manzana"]
>>>"manzana" in frutas
True
>>>"limon" in frutas
False

El operador in también se puede utilizar en cadenas. Podemos comprobar si existe una palabra en un texto:

>>>"hola" in "hola como estas?"
True

Eliminar elementos de una lista en python

Para eliminar un elemento de la lista, utilizaremos la expresión del.
Vamos a crear una lista de números y borrar uno para ver como sería:

>>>num = [1, 2, 3, 4, 5]
>>>del num[0] #Borramos el primer elemento de la lista
>>>num
[2, 3, 4, 5]

Ahora el primer elemento de la lista y por lo tanto indice 0 va a ser el número 2. Va a pasar lo mismo con los demás elementos de lista, al borrar un elemento cambiaran sus indices.

Lista de listas en python

Los elementos de una lista pueden ser también otras listas. Supongamos que tenemos una lista de compras, una lista de tareas y una lista de postres favoritos. Podemos poner estas tres listas en una sola:

Ejemplo
>>>compras = ["huevos", "leche", "sopa", "manzanas", "pan"]
>>>tareas = ["limpiar", "cortar el cesped", "ir de compras"]
>>>postres = ["helado", "torta de crema"]
>>>listaGeneral = [compras, tareas, postres] #Tres listas dentro de una
>>>listaGeneral
[["huevos", "leche", "sopa", "manzanas", "pan"] , ["limpiar", "cortar el cesped", "ir de compras"] , [compras, tareas, postres]]

Para obtener un elemento de la lista listaGeneral debemos utilizar dos pares de corchetes: listaGeneral[0][2], obtendremos como resultado el elemento "sopa". El [0] es el indice 0 de la lista listaGeneral, por lo tanto entra en la lista compras, el [2] es el indice 2 de la lista compras, por lo tanto el elemento es "sopa".

También podríamos hacerlo de esta forma y obtendríamos los mismos valores:

Ejemplo
>>>listaGeneral = [["huevos", "leche", "sopa", "manzanas", "pan"] , ["limpiar", "cortar el cesped", "ir de compras"] , [compras, tareas, postres]]
>>>compras = listaGeneral[0] #Le asignamos a compras la primera lista de listaGeneral
>>>tareas = listaGeneral[1] #Le asignamos a tareas la segunda lista de listaGeneral
>>>postres = listaGeneral[2] #Le asignamos a postres la tercera lista de listaGeneral

Si tienen dudas o sugerencias no olviden dejar comentarios.

  1. Francesc dice:

    Muy bueno tu artículo. Limpio y claro. Me gusta tu estilo. Gracias!!

    1. PythonDiario dice:

      Gracias a vos Francesc por tu comentario. Saludos

  2. Unknown dice:

    excelente!!...se entiende muy bien!!...

    1. PythonDiario dice:

      Gracias Jordy. Saludos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
White Monkey