1 00:00:00,430 --> 00:00:12,269 Bueno, pues vamos a continuar y como se me acabó el tiempo en el ejercicio 9, pues bueno, no coincide con los bloques que puse, pero da exactamente igual, ¿verdad? 2 00:00:12,410 --> 00:00:21,070 Pasamos al ejercicio 10, que es el del código morse. También lo resolvimos ayer, pero lo voy a hacer ahora mismo para que quede grabado y lo podáis revisar. 3 00:00:21,190 --> 00:00:30,329 Es simplemente un ejercicio en el que vamos a utilizar el método Replace para cambiar texto por código morse, ¿vale? 4 00:00:30,429 --> 00:00:37,310 Esto es una forma un poco absurda de hacerlo, pero de momento no conocemos otra, ¿verdad? 5 00:00:37,630 --> 00:00:45,350 Con lo cual, pues lo vamos a hacer así y únicamente con tres letras para no perder mucho tiempo, ¿vale? 6 00:00:45,549 --> 00:00:51,310 Simplemente para que conozcáis y para que veáis el método de replace que es muy útil, ¿de acuerdo? 7 00:00:52,250 --> 00:00:54,049 Para traducirla a Morse. 8 00:00:56,859 --> 00:00:58,560 Vale, pues esta es la entrada, ¿de acuerdo? 9 00:00:58,560 --> 00:01:04,299 Lo que va a escribir el usuario y ahora simplemente vamos a utilizar este método, ¿de acuerdo? 10 00:01:04,500 --> 00:01:11,159 Frase morse, es decir, creo una variable que llamo frase morse y que va a ser lo siguiente. 11 00:01:11,500 --> 00:01:25,780 En la variable frase, reemplazar la letra A por el código morse correspondiente a la letra A, que es, lo tengo buscado, punto y raya, ¿de acuerdo? 12 00:01:25,780 --> 00:01:43,799 Ahora, si es importante, porque si no quizá no caeríamos, que para volver a hacer otro replace necesito esto, reemplazar y volver a escribir la letra B, coma y el código morse correspondiente a la letra B que es punto, punto, punto, ¿vale? 13 00:01:43,799 --> 00:01:58,079 Y por último hago la letra C, ¿de acuerdo? Reemplazar la letra C, coma, por el código morse correspondiente que es raya punto, raya punto, ¿vale? 14 00:01:58,079 --> 00:02:07,510 Y bueno, ya con esto lo dejamos porque si no tardaríamos mucho, ¿verdad? 15 00:02:07,590 --> 00:02:09,210 Y es evidente que continuará igual 16 00:02:09,210 --> 00:02:12,930 Y como digo, que esta tampoco sería la forma más 17 00:02:12,930 --> 00:02:16,349 Bueno, esta sería una forma muy rudimentaria de hacerlo 18 00:02:16,349 --> 00:02:17,849 Y no es así como se hace 19 00:02:17,849 --> 00:02:19,330 Pero hasta ahora no sabemos más, ¿vale? 20 00:02:19,750 --> 00:02:23,229 Entonces voy a emplear solo estas letras, ¿verdad? 21 00:02:23,229 --> 00:02:26,569 Y a B y C, que son las que hemos traducido 22 00:02:26,569 --> 00:02:29,270 Y aquí tenemos el código morse correspondiente 23 00:02:29,270 --> 00:02:41,509 Bueno, pues este sería el ejercicio 10. Y en este vídeo voy a intentar meter ahora desde el 11 hasta el 16 al menos, ¿de acuerdo? Y ya los cuatro o los tres últimos para el último vídeo. 24 00:02:41,509 --> 00:03:01,150 Bueno, pues entonces añado un archivo para el ejercicio 11. Y aquí mismo, la verdad que no voy a crear más, aquí mismo en el ejercicio 11 voy a hacer los cuatro primeros del bloque 3, que serían el 11, 12, 13, 14 y 15, que son muy parecidos. 25 00:03:01,150 --> 00:03:03,849 ¿Vale? Y voy reutilizándolo 26 00:03:03,849 --> 00:03:05,669 Bueno, os voy contando mientras lo hago 27 00:03:05,669 --> 00:03:08,330 Entonces, el ejercicio 11 nos pide 28 00:03:08,330 --> 00:03:10,430 Escribir un programa que pregunte al usuario un número 29 00:03:10,430 --> 00:03:12,330 Y le indique si es positivo o negativo 30 00:03:12,330 --> 00:03:14,729 Bueno, pues entonces está claro que comenzamos 31 00:03:14,729 --> 00:03:17,930 Creando una variable que se llame num 32 00:03:17,930 --> 00:03:22,310 Y que convierta el input del usuario en un entero 33 00:03:22,310 --> 00:03:23,669 O en un float, da igual 34 00:03:23,669 --> 00:03:27,569 Si no tenemos más datos, pues lo que queramos 35 00:03:27,569 --> 00:03:30,009 Teclea un número 36 00:03:30,009 --> 00:03:42,310 Vale, bueno, y el espacio efectivamente. Y ahora, muy importante, voy a ver cómo lo puedo dejar expresado utilizando el método format para que quede lo mejor posible, ¿de acuerdo? 37 00:03:42,789 --> 00:03:50,409 Y entonces, ahora en el print lo vamos a utilizar, como digo, el método format en lugar de concatenar. 38 00:03:50,409 --> 00:03:53,849 Y bien, vamos a condicionales. Estos son ejercicios de condicionales, por supuesto. 39 00:03:54,389 --> 00:03:59,849 Entonces, si el número es mayor o igual que cero, voy a poner el cero aquí en los positivos, 40 00:04:00,669 --> 00:04:01,710 print, ¿vale? 41 00:04:02,889 --> 00:04:10,569 El número, y veis, para no usar tanta concatenación, si yo meto aquí mi llave y pongo es positivo 42 00:04:10,569 --> 00:04:17,089 utilizando el método format, pues me ahorro concatenar dos veces, que al final es un aburrimiento. 43 00:04:17,230 --> 00:04:18,709 Y lo pongo así, ¿de acuerdo? 44 00:04:18,709 --> 00:04:33,990 Y ahora, segunda parte del condicional, else, es decir, si el número no es mayor ni igual que cero, las otras posibilidades evidentemente son que sea negativo, no hay más, ¿verdad? 45 00:04:34,889 --> 00:04:41,790 Hemos dejado el cero ahí en los positivos, luego tengo un ejercicio en el que justamente lo añadimos, ¿vale? 46 00:04:42,149 --> 00:04:47,490 El caso del cero, yo ahora mismo no lo sé, habrá que preguntárselo a un profe de matemáticas, ¿vale? 47 00:04:47,490 --> 00:05:08,529 Bien, teclea un número 5, ¿vale? Positivo. Teclea un número menos 3. El número menos 3 es negativo. Perfecto. Pues este sería el ejercicio 11. Y como os decía, aquí mismo, sin cambiar el número, voy a hacer el ejercicio 12, que es igual, es muy parecido, y voy a añadir el ejercicio 15, ¿vale? El 3 y el 14 luego. 48 00:05:08,529 --> 00:05:18,949 Pero el 11, el 12 y el 15 los hago aquí para no perder tiempo, ¿verdad? Porque son muy fáciles. Resulta que el 12 es exactamente igual que este, pero me dice que indique si es par o impar. 49 00:05:19,269 --> 00:05:32,470 Recordad que para discriminar entre números pares e impares podemos utilizar un operador que es el operador módulo, que lo que me da es el resto de dividir, haciendo una división entera, entre el número que yo indique. 50 00:05:32,470 --> 00:05:45,829 Entonces si yo utilizo el operador módulo con el 2 me va a dar el resto de dividir entre 2 y el resto de dividir entre 2, haciendo divisiones enteras sin decimales, sería 1 en el caso de los impares evidentemente y 0 en el caso de los pares. 51 00:05:45,829 --> 00:06:10,829 Por eso aquí utilizo la siguiente condición y es tan fácil como vais a ver, y así no necesito volverlo a escribir todo, sin el módulo de número entre 2, si el resto es igual a 0, por ejemplo, en ese caso puedo escribir que el número es par. 52 00:06:10,829 --> 00:06:14,129 vale, el resto lo dejo igual, ahí me va a mostrar el número 53 00:06:14,129 --> 00:06:15,589 el número tracatrá es par 54 00:06:15,589 --> 00:06:19,829 y de lo contrario es impar 55 00:06:19,829 --> 00:06:24,470 no hace falta que escriba número módulo 2 igual a 1 56 00:06:24,470 --> 00:06:26,410 porque solo hay dos posibilidades 57 00:06:26,410 --> 00:06:29,269 entonces es impar 58 00:06:29,269 --> 00:06:31,310 ya lo tenemos, pues así de sencillo, ¿de acuerdo? 59 00:06:32,009 --> 00:06:36,009 si num módulo 2 60 00:06:36,009 --> 00:06:38,410 y aquí hay un fallo, muy importante 61 00:06:38,410 --> 00:06:44,990 Y es que recordad que el igual que tengo que utilizar en los condicionales es el doble igual. 62 00:06:45,209 --> 00:06:50,230 El igual que había dejado, que es un despiste común, es el igual de asignación de variables. 63 00:06:50,389 --> 00:06:53,670 Doble igual, si no, no funciona, no sirve de nada. 64 00:06:54,149 --> 00:06:57,790 Venga, vamos allá. Teclea un número 2, el número 2 es par. 65 00:06:58,230 --> 00:07:02,490 Teclea, bueno, lo voy a dar aquí, teclea un número 5, el 5 es impar. 66 00:07:02,730 --> 00:07:04,449 Vale, pues veis que fácil, ¿verdad? 67 00:07:04,449 --> 00:07:29,310 Y ahora voy a volver al ejercicio del positivo y negativo, ¿verdad? Voy a completar el ejercicio 11 para hacer el 15, ¿verdad? Porque el 15 me dice, escribe un programa que pregunte al usuario un número y le indique si es positivo o negativo o cero, ¿vale? Así que es parecido al 11, pero en este caso me añade un caso más, con lo cual para hacerlo necesito un condicional anidado, ¿de acuerdo? 68 00:07:29,310 --> 00:07:31,689 Así que me salto el 13 y el 14 69 00:07:31,689 --> 00:07:33,949 Y este que voy a hacer ahora mismo es el ejercicio 15 70 00:07:33,949 --> 00:07:37,810 Lo voy a poner aquí para que no haya dudas 71 00:07:37,810 --> 00:07:39,689 Aunque el nombre del archivo sea otro 72 00:07:39,689 --> 00:07:41,550 Bien, pues vuelvo a lo de antes 73 00:07:41,550 --> 00:07:43,810 Y comienza así, por ejemplo 74 00:07:43,810 --> 00:07:46,769 Si el número es mayor que 0 75 00:07:46,769 --> 00:07:49,250 El número es positivo 76 00:07:49,250 --> 00:07:54,750 Pero ojo, ahora no voy a utilizar else 77 00:07:54,750 --> 00:07:56,529 Porque necesito otra condición 78 00:07:56,529 --> 00:08:01,569 elif número menor que 0 79 00:08:01,569 --> 00:08:06,170 print el número es negativo 80 00:08:06,170 --> 00:08:10,129 y ahora sí, ya no hay más que poner else 81 00:08:10,129 --> 00:08:12,470 porque o es positivo mayor que 0 82 00:08:12,470 --> 00:08:14,009 o es menor que 0 o es 0 83 00:08:14,009 --> 00:08:19,610 pues entonces en este tercer caso 84 00:08:19,610 --> 00:08:21,329 voy a poner directamente 85 00:08:21,329 --> 00:08:23,689 has escrito un 0 86 00:08:23,689 --> 00:08:25,410 no hace falta ni que utilice format 87 00:08:25,410 --> 00:08:29,889 porque es un cero sí o sí, has escrito un cero, ¿de acuerdo? 88 00:08:30,410 --> 00:08:38,090 Y ya lo tenemos, si el número es mayor que cero, positivo, si el número es menor que cero, negativo, y si no, pues es cero. 89 00:08:38,289 --> 00:08:44,389 Fijaos en esta estructura, if, el if, else, ¿de acuerdo? Para varios condicionales. 90 00:08:44,389 --> 00:08:47,009 Teclea un número 5, es positivo 91 00:08:47,009 --> 00:08:51,990 Teclea un número menos 2, es negativo 92 00:08:51,990 --> 00:08:55,470 Teclea un número 0 93 00:08:55,470 --> 00:08:57,110 ¡Epa! ¿Qué ha pasado aquí? 94 00:08:57,509 --> 00:08:58,570 ¿Qué he hecho mal? 95 00:08:58,610 --> 00:08:59,769 ¡Ah! El print, que me falta el mate 96 00:08:59,769 --> 00:09:00,570 Print, vale 97 00:09:00,570 --> 00:09:02,669 Repito, vale 98 00:09:02,669 --> 00:09:03,970 ¿Veis que no se ha ejecutado? 99 00:09:04,029 --> 00:09:05,350 No ha detectado el error de los anteriores 100 00:09:05,350 --> 00:09:07,970 Porque no ha llegado a ejecutar esta línea de código 101 00:09:07,970 --> 00:09:10,129 Vale, el error me ha venido bien 102 00:09:10,129 --> 00:09:10,690 0 103 00:09:10,690 --> 00:09:12,509 Has escrito un 0 104 00:09:12,509 --> 00:09:14,149 Fijaos que en los dos ensayos anteriores 105 00:09:14,149 --> 00:09:19,169 Como puse un número, primero positivo, luego negativo, ejecutó esto y terminó el programa 106 00:09:19,169 --> 00:09:24,750 Ejecutó esto y terminó el programa y no llegó a ejecutar esto de aquí y por tanto no detectó el error 107 00:09:24,750 --> 00:09:31,610 ¿Vale? Bueno, pues hemos corregido ya de esta forma los ejercicios 10, 11 y 15 108 00:09:31,610 --> 00:09:35,409 ¿Vale? Voy a crear uno nuevo para hacer 12 y 13, ¿vale? 109 00:09:37,649 --> 00:09:44,409 Perdón, el ejercicio, perdón, 13 y 14, el ejercicio 13 110 00:09:44,409 --> 00:10:03,529 El ejercicio 13 es muy fácil y queda aquí de una forma un poco rudimentaria, pero de nuevo lo haremos más adelante mejor y ahora os comento cuando lo tenga hecho de qué forma lo vamos a mejorar un poquito porque así es un poco absurdo. 111 00:10:03,529 --> 00:10:20,470 Pero bueno, bien, escribe un programa que pregunte al usuario un número y si lo adivina le diga que muy bien que lo ha adivinado y si no que le diga, lo siento, otra vez será, otra vez será entre comillas porque todavía no sabemos hacer bucles con lo cual solo se ejecuta una única vez, ¿verdad? 112 00:10:20,470 --> 00:10:35,509 Bueno, pues entonces le pedimos un número, la variable num, la transformamos en float por si acaso se le ocurre a alguien escribir un número con decimales y si no ponemos int y le decimos que escriba un número entero. 113 00:10:35,509 --> 00:10:47,480 ¿De acuerdo? Input, escribe un número entero y así pasamos de los decimales. 114 00:10:47,679 --> 00:10:55,769 Y ahora, sí, antes lo voy a hacer aquí arriba para que lo veáis claramente. 115 00:10:56,330 --> 00:11:03,830 Ahora vamos a crear una variable en la que introduzco el valor del número que hay que adivinar. 116 00:11:04,049 --> 00:11:06,389 Y esto es lo que es una chapucilla. 117 00:11:06,389 --> 00:11:08,629 Claro, que yo me invente aquí el número 118 00:11:08,629 --> 00:11:11,409 Normalmente lo que haremos será generar un número aleatorio 119 00:11:11,409 --> 00:11:12,409 Porque es que si no... 120 00:11:12,409 --> 00:11:13,950 Pero bueno, de momento lo hacemos así, ¿vale? 121 00:11:14,309 --> 00:11:17,549 If num igual a guess 122 00:11:17,549 --> 00:11:19,250 Print 123 00:11:19,250 --> 00:11:21,190 Muy bien, lo adivinaste 124 00:11:21,190 --> 00:11:26,940 Y podemos poner era él 125 00:11:26,940 --> 00:11:28,759 Y utilizar nuestro método format, ¿verdad? 126 00:11:29,019 --> 00:11:30,100 Este de aquí, el que sea 127 00:11:30,100 --> 00:11:32,100 Format 128 00:11:32,100 --> 00:11:36,340 Y aquí puedo poner guess directamente, por supuesto, ¿vale? 129 00:11:36,940 --> 00:11:37,960 O num, me da igual 130 00:11:37,960 --> 00:11:40,039 Y otra vez la T se me ha quedado sin escribir 131 00:11:40,039 --> 00:11:42,340 Else 132 00:11:42,340 --> 00:11:43,580 Dos puntos 133 00:11:43,580 --> 00:11:44,580 Print 134 00:11:44,580 --> 00:11:46,700 Lo siento, prueba otra vez 135 00:11:46,700 --> 00:11:49,120 Que bueno, o lo siento, no voy a poner ni el prueba otra vez 136 00:11:49,120 --> 00:11:50,820 Porque no podemos probar más, ¿de acuerdo? 137 00:11:50,899 --> 00:11:52,100 No tenemos, no tenemos 138 00:11:52,100 --> 00:11:54,440 No sabemos hacer buques de momento 139 00:11:54,440 --> 00:11:56,519 Bueno, pues escribimos un número entero 140 00:11:56,519 --> 00:11:59,259 Si ese número num es igual al 5 141 00:11:59,259 --> 00:12:01,379 Me dirá, muy bien, lo adivinaste, era el 142 00:12:01,379 --> 00:12:01,840 Tracatrá 143 00:12:01,840 --> 00:12:03,460 Si no, me dirá, lo siento 144 00:12:03,460 --> 00:12:04,460 Pues vamos a probarlo 145 00:12:04,460 --> 00:12:06,639 Vale, escribí un número entero 146 00:12:06,639 --> 00:12:09,779 5, bueno, no quería justo poner 5, no me he dado cuenta 147 00:12:09,779 --> 00:12:13,379 Pero bien, está, escribo un número entero, perdón, aquí abajo 148 00:12:13,379 --> 00:12:18,700 4, lo siento, bueno, lo siento no era ese que lo siento que da 149 00:12:18,700 --> 00:12:21,279 Lo siento no es ese, no es ese, vale 150 00:12:21,279 --> 00:12:26,519 Y ya está, ya tenemos hecho el ejercicio 13, de acuerdo 151 00:12:26,519 --> 00:12:32,200 Y el 14 creo que no me ha dado tiempo porque se me acaba la grabación 152 00:12:32,200 --> 00:12:34,320 Lo dejo para la siguiente, de acuerdo 153 00:12:34,320 --> 00:12:40,340 Así que aquí tenemos en este bloque corregidos los ejercicios 11, 12, 13 y 15, ¿de acuerdo? 154 00:12:41,080 --> 00:12:41,879 Muy bien, hasta luego.