< Return to Video

If/Else Parte 2 (Versión en Video)

  • 0:01 - 0:04
    Aquí nos quedamos con nuestro juego de lanzamiento de monedas.
  • 0:04 - 0:07
    Empezamos generando un número aleatorio entre 0 y 1,
  • 0:07 - 0:09
    y luego redondeamos ese número al entero más cercano.
  • 0:09 - 0:12
    Eso nos daba un número que era 0 o 1.
  • 0:12 - 0:19
    Y luego ilustramos nuestra moneda súper realista con una elipse que era morada o amarilla, dependiendo del número.
  • 0:19 - 0:21
    Y aquí está el código con el que hicimos eso.
  • 0:21 - 0:26
    Entonces dijimos si "integer" es igual a 0 rellena de morado, de otra manera, rellena de amarillo.
  • 0:26 - 0:28
    Y luego dibujamos la moneda aquí abajo.
  • 0:28 - 0:32
    Pero ahora he decidido que mi moneda tiene en realidad 3 lados. Sí, una moneda de 3 lados.
  • 0:32 - 0:34
    Así que déjenme agregar el tercer lado.
  • 0:34 - 0:37
    Voy a empezar por generar un número entre 0 y 2,
  • 0:37 - 0:42
    así que después de redondear eso, me regresará un entero que será 0, 1 o 2.
  • 0:42 - 0:46
    Pero si miramos nuestro código de dibujo, sólo estamos contemplando dos casos aquí.
  • 0:46 - 0:49
    Si el entero es 0, rellenará de morado, de otra manera, rellenará de amarillo.
  • 0:49 - 0:52
    Pero ahora, "de otra manera" puede significar 1 o 2.
  • 0:52 - 0:55
    Pero esperen, ¿qué pasa si hago lo mismo que hice antes?,
  • 0:55 - 0:57
    pero dentro de este bloque "else". Así que sólo voy a decir:
  • 0:57 - 1:05
    Si "integer" es igual a 1 entonces rellena de amarillo, como estaba antes,
  • 1:05 - 1:11
    "else" rellenaremos de rojo. Rojo está bien.
  • 1:11 - 1:15
    Entonces lo que esto significa es que si "integer" es igual a 0 el color será morado,
  • 1:15 - 1:19
    de otra manera, si es 1, el color será amarillo;
  • 1:19 - 1:25
    de otra manera, es decir, si no es 0, ni 1, debe ser 2 y rellenaremos de rojo.
  • 1:25 - 1:29
    Presiono "restart" muchas veces. ¡Funciona! ¡Yu ju!
  • 1:29 - 1:32
    Entonces si quiero añadir más lados a mi moneda,
  • 1:32 - 1:38
    Puedo ir aquí arriba y hacer esto de 0 a 3, y luego ir más adentro en el bloque "else" y añadir más "if-else" y así sucesivamente,
  • 1:38 - 1:40
    hasta que tengamos miles de bloques anidados.
  • 1:40 - 1:45
    Y sólo entonces me daré cuenta de que este código es desagradable, quiero decir ¡grotesco!
  • 1:45 - 1:48
    Se supone que un código debe ser fácil de leer y bonito, no lo más feo posible.
  • 1:48 - 1:50
    Así que esto es lo que vamos a hacer:
  • 1:50 - 1:56
    Cuando tengas una sentencia "if" simple o una sentencia "if-else" dentro de un bloque "else",
  • 1:56 - 1:58
    significa que no estamos haciendo nada más fuera de estos bloques,
  • 1:58 - 2:04
    no estamos eligiendo el color del trazo, no tenemos ninguna sentencia "if", nada.
  • 2:04 - 2:08
    Todo lo que tenemos es una sentencia "if", y probablemente contenga un bloque "else".
  • 2:08 - 2:13
    Entonces en realidad podemos combinar esta condición con la línea anterior y decir:
  • 2:13 - 2:17
    "else if integer is = 1" (de otra manera, si "integer" es igual a 1), y establecer el color amarillo para rellenar.
  • 2:17 - 2:22
    Y luego este bloque "else" del final, no está anidado en ningún lado, sólo llega al final por sí mismo.
  • 2:22 - 2:27
    ¡Genial! Entonces lo que esto significa es: si "integer" es igual a 0 rellena de morado,
  • 2:27 - 2:30
    de otra manera si "integer" es igual a 1, rellena de amarillo,
  • 2:30 - 2:34
    de otra manera, si estas dos condiciones anteriores fueron falsas entonces rellena de rojo.
  • 2:34 - 2:38
    Si presiono "Restart" muchas veces, puedes ver que sigue funcionando.
  • 2:38 - 2:42
    ¡Genial! Y lo interesante de esto es que podemos tener todos los "else-if" que queramos,
  • 2:42 - 2:45
    lo que me hace fácil añadir más lados en mi moneda.
  • 2:45 - 2:48
    Hagamos eso ahora. Voy a generar un número entre 0 y 3,
  • 2:48 - 2:56
    y luego voy a añadir otro bloque "else" que diga: de otra manera si "integer" es igual a 2
  • 2:56 - 3:00
    rellenaremos de... bueno antes era rojo, podemos dejar el rojo.
  • 3:00 - 3:03
    Y luego este último bloque "else" será para cuando "integer" sea igual a 3,
  • 3:03 - 3:08
    rellenaremos de azul. ¡Genial!
  • 3:08 - 3:13
    Muy bien. Así que para hacer esto, siempre tienes que empezar con una sentencia "if",
  • 3:13 - 3:17
    y luego puedes tener todos los "else-if" que quieras,
  • 3:17 - 3:19
    y luego este último es opcional.
  • 3:19 - 3:22
    En realidad podemos hacerlo sin este último, y es posible que todo esto sea falso,
  • 3:22 - 3:24
    entonces no se ejecutará ninguno de estos bloques.
  • 3:24 - 3:30
    Pero por la manera como lo tenemos ahí, entonces se ejecutará exactamente uno de estos bloques.
  • 3:30 - 3:37
    ¿Está bien? Ahora bien, este es un caso en el que no importa si dices "if else-if else-if else",
  • 3:37 - 3:46
    o simplemente usar la vieja y simple sentencia "if", como la teníamos en el principio: si "integer" es igual a 3.
  • 3:46 - 3:51
    Y eso es porque es imposible para "integer" ser igual a 0 y luego ser igual a 1, 2 o 3.
  • 3:51 - 3:54
    ¡Genia! Así que estas condiciones son mutuamente excluyentes.
  • 3:54 - 3:57
    De cualquier manera sólo uno de estos bloques se ejecutará.
  • 3:57 - 3:58
    Pero no siempre tenemos este caso.
  • 3:58 - 4:02
    ¿Qué pasa si tratamos de hacer un juego como éste pero sin redondear a un entero?
  • 4:02 - 4:04
    Así que me voy a deshacer de esta parte donde redondeamos,
  • 4:04 - 4:07
    y de esta otra parte donde lo dibujamos en la pantalla.
  • 4:07 - 4:09
    Y déjenme hacer nuevas reglas para mi juego.
  • 4:09 - 4:13
    Entonces estoy generando un número entre 0 y 3,
  • 4:13 - 4:15
    ponemos más marcas en nuestra recta numérica.
  • 4:15 - 4:23
    Entonces digamos que si el número cae entre 0 y 1 rellenaremos de morado.
  • 4:23 - 4:26
    Oh, eso no parece una "p". (purple=morado) Bueno... entienden. Ok.
  • 4:26 - 4:31
    Y luego si está entre 1 y 2, lo rellenamos de amarillo.
  • 4:31 - 4:36
    Y si está entre 2 y 3, lo rellenamos de rojo.
  • 4:36 - 4:39
    ¡Genial! Entonces veamos cómo podemos hacer eso con "if" y con "else-if´s".
  • 4:39 - 4:44
    Puedo empezar por decir si "number" es menor que 1,
  • 4:44 - 4:51
    si es menor que 1, y sé que está entre 0 y 3, entonces debe estar en este rango,
  • 4:51 - 4:54
    entonces selecciono el morado para rellenar.
  • 4:54 - 5:07
    De otra manera, si "number" es menor que 2, selecciono el amarillo para rellenar... 255...
  • 5:07 - 5:13
    Y de otra manera, relleno con rojo.
  • 5:13 - 5:16
    ¡Genial! Y funciona de la manera prevista.
  • 5:16 - 5:19
    Así que si "number" es menor que 1, entonces otra vez está en este rango.
  • 5:19 - 5:24
    De otra manera, es mayor o igual que 1, pero también es menor que 2,
  • 5:24 - 5:27
    eso lo pone en este rango, así que vamos a rellenar de amarillo.
  • 5:27 - 5:32
    De otra manera, "number" debe ser mayor o igual que 2, así que cae en este rango.
  • 5:32 - 5:36
    Y aquí hay un caso en el que no podemos decir simplemente que si "number" es menor que 2,
  • 5:36 - 5:40
    y si "number" es menor que 3,
  • 5:40 - 5:43
    porque si "number"es menor que 1, entonces es definitivamente menor que 2
  • 5:43 - 5:45
    y también será menor que 3.
  • 5:45 - 5:47
    Así que nuestra moneda terminará siendo roja siempre.
  • 5:47 - 5:52
    Y es por eso que en este caso es realmente útil usar "else-if".
Title:
If/Else Parte 2 (Versión en Video)
Description:

more » « less
Video Language:
English
Duration:
05:53
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for If/Else Part 2 (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for If/Else Part 2 (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for If/Else Part 2 (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for If/Else Part 2 (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for If/Else Part 2 (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for If/Else Part 2 (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for If/Else Part 2 (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for If/Else Part 2 (Video Version)

Spanish, Mexican subtitles

Revisions