Tutorial Hawk 9 -Ciclos

Hola de nuevo a todos, en esta ocasión el tema sera sobre los ciclos o bucles, lo importantes que son y como es que nos ahorran muchas lineas de código.



Bien pues empecemos definiendo un ciclo en programación:

Un ciclo o bucle no es nada mas que una sentencia repite lineas de código  y pues como es de esperarse repite las lineas que queramos y las veces que queramos.

Tipos de ciclos:


El ciclo While (mientras) lo utilizamos normalmente cuando no sabemos cuantas veces necesitamos que se repita nuestro código.

Ejemplo:

-----------------------------------------------------------------------------------------------------------------------

  1. print "Cuanto dinero tienes?"
  2. dinero=int(raw_input())
  3. while dinero < 1000:#Mientras la variable dinero sea menor a 1000 ejecuta:
  4.     print "Esta semana ganaste 100"
  5.     dinero+=100#En cada iteración del ciclo sumamos 100 a la variable dinero
  6. #una vez que la condición del ciclo while ya no se cumple se ejecuta el código faltante.
  7. #eso quiere decir que cuando la variable dinero vale 1000 o mas se ejecutan las lineas de código restantes.
  8. print "Bien, ya has juntado", dinero

-----------------------------------------------------------------------------------------------------------------------
Como ven en este ejemplo le podemos poner la cantidad de dinero que queramos, y dependiendo de la cantidad de dinero el ciclo se repetirá tantas veces, es por eso que se utiliza el while.

Si le pusiéramos de dinero 100, el ciclo se repetiría 9 veces
                                                500, el ciclo se repetiría 5 veces
                                                    0, el ciclo se repetiría 10 veces
                                                  10, el ciclo se repetiría 10 veces
                                              1000, el ciclo se repetirá solo una vez.

Bien pues aquí les dejo otros ejemplos sencillos de como utilizar el while.

-----------------------------------------------------------------------------------------------------------------------

  1. dinero = int(raw_input( "Cuando dinero tienes?"))
  2. #Este es el famoso ciclo infinito
  3. while True:#Mientras verdadero, esto siempre se cumple
  4.     dinero+=100
  5.     print "Esta semana has ganado 100"
  6.     if dinero >=1000:
  7.         break#Esta sentencia rompe el ciclo infinito
  8. print "Bien, ya has juntado", dinero
-----------------------------------------------------------------------------------------------------------------------

Ahora hablemos del ciclo For, este ciclo lo usamos normalmente cuando sabemos exactamente cuantas veces ocuparemos repetir un cierto código.

Ejemplo:
-----------------------------------------------------------------------------------------------------------------------
#Los números enteros del 1 al 10
for numero in range(10):
    print numero+1#es importante sumarle 1 pues como en los indices de las listas los ciclos empiezan en cero
-----------------------------------------------------------------------------------------------------------------------

En este ejemplo si es útil utilizar el ciclo for pues sabemos desde hace mucho los números del 1 al 10, sin embargo hay otra forma de utilizar el for sin indicarle numéricamente cuantas veces queremos que se repita y es la siguiente:

-----------------------------------------------------------------------------------------------------------------------
#creamos una lista de números
numeros = [1,2,3,4,5,6,7,8,9,10]

for numero in numeros:#Recorre todo el arreglo 
    print numero#imprime cada elemento del arreglo
-----------------------------------------------------------------------------------------------------------------------


Bien, pues ahora es de cada quien el como y cuando utilizarlos, y solo para aplicar un poco esto modificare el juego realizado en el tutorial anterior, y pues claro esta vez utilizare ciclos y verán como es que si ayudan y nos ahorran muchas lineas de código.


El juego se llamara: Wissen Lovelet 
Version: 0.2

-----------------------------------------------------------------------------------------------------------------------

  1. puntos = 0
  2. nombre_jugador = ""
  3. tema = "ninguno"
  4. cara = {"Feliz": ":-)", "Triste": ":-(", "Sonriente": ":-D", "Sorprendido": ":-O","Lengua":":-P"}

  5. andrea = {"Nombre": "Andrea","Música": 5, "Comedia": 3, "Baile":-2, "Comida": 1, "Coqueteo":-10, "Autos": -2, "Computación": 10}

  6. #==============================================================================
  7. #creamos diálogos:
  8. #==============================================================================

  9. print "Hola mi nombre es",andrea["Nombre"], "¿Cual es tu nombre?"
  10. while True:
  11. nombre_jugador = raw_input()#Campturamos el nombre
  12. if nombre_jugador != "":
  13. break
  14. print "Introduce tu nombre por favor"

  15. print andrea["Nombre"],":\nMucho gusto",nombre_jugador, "hoy es un buen dia :D"

  16. for dialogo in range(2):
  17. #mostramos las respuestas posibles:
  18. print """\nHablar de :
  19. 1) Música 2) Comedia 3) Baile 4) Comida 5) Coqueteo 6) Autos 7) Computación"""
  20. tema= raw_input()#Campuramos la respuesta

  21. if int(tema) == 1:
  22. print andrea["Nombre"],":\nSi ami también me encanta la música sobre todo la de ProngonStons",cara["Feliz"]
  23. puntos+= andrea["Música"]#sumamos los puntos
  24. tema= "ninguno"#reseteamos los gustos

  25. elif int(tema) == 2:
  26. print andrea["Nombre"],":\nHey que buen chiste, ¿de donde lo sacaste? ",cara["Lengua"]
  27. puntos += andrea["Comedia"]#sumamos los puntos
  28. tema= "ninguno"#reseteamos los gustos

  29. elif int(tema) == 3:
  30. print andrea["Nombre"],":\n...este pues si bailo pero casi nada, ocupo andar entonada...",cara["Triste"]
  31. puntos += andrea["Comedia"]#sumamos los puntos
  32. tema= "ninguno"#reseteamos los gustos

  33. elif int(tema) == 4:
  34. print andrea["Nombre"],":\nSi, ese restaurante esta de lujo, y el servicio es muy bueno, sin duda iría todos los días",cara["Feliz"]
  35. puntos+= andrea["Comida"]#sumamos los puntos
  36. tema= "ninguno"#reseteamos los gustos

  37. elif int(tema) == 5:
  38. print andrea["Nombre"],":\nPero que te pasa imbecil? Osea, apenas me conoces... IDIOTA!",cara["Sorprendido"]
  39. puntos+= andrea["Coqueteo"]#sumamos los puntos
  40. tema= "ninguno"#reseteamos los gustos

  41. elif int(tema) == 6:
  42. print andrea["Nombre"],":\nPues si tu lo dices... (pinche carro mugroso) si, esta bonito...",cara["Triste"]
  43. puntos += andrea["Autos"]#sumamos los puntos
  44. tema= "ninguno"#reseteamos los gustos

  45. elif int(tema) == 7:
  46. print andrea["Nombre"],":\nMe encanta la computación, soy programadora en Python",cara["Sonriente"]
  47. puntos+= andrea["Computación"]#sumamos los puntos
  48. tema= "ninguno"#reseteamos los gustos
  49. else:
  50. print andrea["Nombre"],":\nTe lo pierdes..."

  51. print " "
  52. #En base a los puntos obtenidos muestra un mensaje final mas que claro xD
  53. if puntos >= 20:
  54. print andrea["Nombre"],":\nEres muy agradable, hay que salir luego, este es mi Google+"
  55. elif puntos >=10:
  56. print andrea["Nombre"],":\nMe caíste bien, adiós"
  57. elif puntos >= 5:
  58. print andrea["Nombre"],":\nAdiós"
  59. elif puntos < 5:
  60. print andrea["Nombre"],":\nEres todo un idiota no se como me tope contigo"

-----------------------------------------------------------------------------------------------------------------------
Como ven nos hemos ahorrado muchas lineas de código, el juego hace exactamente lo mismo que el anterior pero he implementado los ciclos.

(Wissen es alemán y significa conocer y Lovelet es inventado xD)

Bueno, por hoy es todo, ojala les aya servido si es así no olviden dejar su +1, cualquier duda ya saben, aquí abajo pueden comentarla . Hasta la próxima!!.

Comentarios

Entradas más populares de este blog