├── README.md ├── docs └── Online Editors.txt └── exercises ├── #19 - Conversor Tiempo.py ├── #28 - Vendor Machine.py ├── #30 - Marco de Palabras.py ├── #31 - Años Bisiestos.py └── #32 - El Segundo.py /README.md: -------------------------------------------------------------------------------- 1 | ---- Author: h3g0c1v ---- 2 | # Python-Mouredev-Exercise 3 | This repository are the solutions of the github repository of https://github.com/mouredev/Weekly-Challenge-2022-Kotlin but in python 4 | -------------------------------------------------------------------------------- /docs/Online Editors.txt: -------------------------------------------------------------------------------- 1 | Kotlin - https://play.kotlinlang.org/ 2 | Swift - http://online.swiftplayground.run/ 3 | Dart - https://dartpad.dev/ 4 | Python - https://www.online-python.com/ 5 | JavaScript - https://runjs.co/ 6 | TypeScript - https://www.typescriptlang.org/play 7 | Java - https://code.sololearn.com/java 8 | C# - https://dotnetfiddle.net/ 9 | PHP - https://onlinephp.io/ 10 | Go - https://go.dev/play/ 11 | Rust - https://play.rust-lang.org/ 12 | Cobol - https://www.jdoodle.com/execute-cobol-online/ -------------------------------------------------------------------------------- /exercises/#19 - Conversor Tiempo.py: -------------------------------------------------------------------------------- 1 | # /* 2 | # * Crea una función que reciba días, horas, minutos y segundos (como enteros) 3 | # * y retorne su resultado en milisegundos. 4 | # */ 5 | 6 | dias = int(input("Introduce el día: ")) 7 | horas = int(input("Introduce la hora: ")) 8 | minutos = int(input("Introduce los minutos: ")) 9 | segundos = int(input("Introduce los segundos: ")) 10 | 11 | dias_milisegundos = dias * 86400000 12 | horas_milisegundos = horas * 3600000 13 | minutos_milisegundos = minutos * 60000 14 | segundos_milisegundos = segundos * 1000 15 | 16 | total_milisegundos = dias_milisegundos + horas_milisegundos + minutos_milisegundos + segundos_milisegundos 17 | 18 | print("En total son", total_milisegundos, "milisegundos") -------------------------------------------------------------------------------- /exercises/#28 - Vendor Machine.py: -------------------------------------------------------------------------------- 1 | # /* 2 | # * Simula el funcionamiento de una máquina expendedora creando una operación 3 | # * que reciba dinero (array de monedas) y un número que indique la selección 4 | # * del producto. 5 | # * - El programa retornará el nombre del producto y un array con el dinero 6 | # * de vuelta (con el menor número de monedas). 7 | # * - Si el dinero es insuficiente o el número de producto no existe, 8 | # * deberá indicarse con un mensaje y retornar todas las monedas. 9 | # * - Si no hay dinero de vuelta, el array se retornará vacío. 10 | # * - Para que resulte más simple, trabajaremos en céntimos con monedas 11 | # * de 5, 10, 50, 100 y 200. 12 | # * - Debemos controlar que las monedas enviadas estén dentro de las soportadas. 13 | # */ 14 | 15 | products = ['Sandwich', 'Aquarius', 'Cheetos', 'Patatas', 'Conguitos', 'Oreo', 'Kinder Bueno'] 16 | price = ['20', '5', '10', '25', '50', '150', '200'] 17 | 18 | user = int(input("[*] Introduce el numero de producto que desea (0-6): ")) 19 | 20 | while(user < 0) or (user > 6): 21 | print("[!] El valor introducido no es valido") 22 | user = int(input("[!] Porfavor, introduce un valor valido (0-6): ")) 23 | 24 | print("El producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 25 | user_price = int(input("[*] Introduce el precio en la maquina, porfavor: ")) 26 | 27 | 28 | 29 | if(user >= 0) and (user <= 6): 30 | 31 | if(user == 0): 32 | 33 | while(user_price < int(price[0])): 34 | 35 | quantity = int(price[0]) - user_price 36 | print("El precio es insuficiente. Le quedan ", quantity, "€") 37 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 38 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 39 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 40 | 41 | if(user_price == int(price[0])): 42 | 43 | print("Ha recibido correctamente el producto con el precio exacto") 44 | print("Disfrute del producto :)") 45 | 46 | elif(user_price > int(price[0])): 47 | 48 | quantity = user_price - int(price[0]) 49 | print("Se le ha devuelto", quantity, "€") 50 | print("Disfrute del producto :)") 51 | 52 | elif(user == 1): 53 | 54 | while(user_price < int(price[1])): 55 | 56 | quantity = int(price[1]) - user_price 57 | print("El precio es insuficiente. Le quedan ", quantity, "€") 58 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 59 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 60 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 61 | 62 | if(user_price == int(price[1])): 63 | 64 | print("Ha recibido correctamente el producto con el precio exacto") 65 | print("Disfrute del producto :)") 66 | 67 | elif(user_price < int(price[1])): 68 | 69 | while(user_price < int(price[1])): 70 | 71 | quantity = int(price[1]) - user_price 72 | print("El precio es insuficiente. Le quedan ", quantity, "€") 73 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 74 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 75 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 76 | 77 | elif(user_price > int(price[1])): 78 | 79 | quantity = user_price - int(price[1]) 80 | print("Se le ha devuelto", quantity, "€") 81 | print("Disfrute del producto :)") 82 | 83 | elif(user == 2): 84 | 85 | while(user_price < int(price[2])): 86 | 87 | quantity = int(price[2]) - user_price 88 | print("El precio es insuficiente. Le quedan ", quantity, "€") 89 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 90 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 91 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 92 | 93 | if(user_price == int(price[2])): 94 | 95 | print("Ha recibido correctamente el producto con el precio exacto") 96 | print("Disfrute del producto :)") 97 | 98 | elif(user_price < int(price[2])): 99 | 100 | while(user_price < int(price[2])): 101 | 102 | quantity = int(price[2]) - user_price 103 | print("El precio es insuficiente. Le quedan ", quantity, "€") 104 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 105 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 106 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 107 | 108 | elif(user_price > int(price[2])): 109 | 110 | quantity = user_price - int(price[2]) 111 | print("Se le ha devuelto", quantity, "€") 112 | print("Disfrute del producto :)") 113 | 114 | elif(user == 3): 115 | 116 | while(user_price < int(price[3])): 117 | 118 | quantity = int(price[3]) - user_price 119 | print("El precio es insuficiente. Le quedan ", quantity, "€") 120 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 121 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 122 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 123 | 124 | if(user_price == int(price[3])): 125 | 126 | print("Ha recibido correctamente el producto con el precio exacto") 127 | print("Disfrute del producto :)") 128 | 129 | elif(user_price < int(price[3])): 130 | 131 | while(user_price < int(price[3])): 132 | 133 | quantity = int(price[3]) - user_price 134 | print("El precio es insuficiente. Le quedan ", quantity, "€") 135 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 136 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 137 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 138 | 139 | elif(user_price > int(price[3])): 140 | 141 | quantity = user_price - int(price[3]) 142 | print("Se le ha devuelto", quantity, "€") 143 | print("Disfrute del producto :)") 144 | 145 | elif(user == 4): 146 | 147 | while(user_price < int(price[4])): 148 | 149 | quantity = int(price[4]) - user_price 150 | print("El precio es insuficiente. Le quedan ", quantity, "€") 151 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 152 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 153 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 154 | 155 | if(user_price == int(price[4])): 156 | 157 | print("Ha recibido correctamente el producto con el precio exacto") 158 | print("Disfrute del producto :)") 159 | 160 | elif(user_price < int(price[4])): 161 | 162 | while(user_price < int(price[4])): 163 | 164 | quantity = int(price[4]) - user_price 165 | print("El precio es insuficiente. Le quedan ", quantity, "€") 166 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 167 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 168 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 169 | 170 | elif(user_price > int(price[4])): 171 | 172 | quantity = user_price - int(price[4]) 173 | print("Se le ha devuelto", quantity, "€") 174 | print("Disfrute del producto :)") 175 | 176 | elif(user == 5): 177 | 178 | while(user_price < int(price[5])): 179 | 180 | quantity = int(price[5]) - user_price 181 | print("El precio es insuficiente. Le quedan ", quantity, "€") 182 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 183 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 184 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 185 | 186 | if(user_price == int(price[5])): 187 | 188 | print("Ha recibido correctamente el producto con el precio exacto") 189 | print("Disfrute del producto :)") 190 | 191 | elif(user_price < int(price[5])): 192 | 193 | while(user_price < int(price[5])): 194 | 195 | quantity = int(price[5]) - user_price 196 | print("El precio es insuficiente. Le quedan ", quantity, "€") 197 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 198 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 199 | user_price = int(input("[*] Introduce el precio en la maquina, porfavor: ")) 200 | 201 | elif(user_price > int(price[5])): 202 | 203 | quantity = user_price - int(price[5]) 204 | print("Se le ha devuelto", quantity, "€") 205 | print("Disfrute del producto :)") 206 | 207 | elif(user == 6): 208 | 209 | while(user_price < int(price[6])): 210 | 211 | quantity = int(price[6]) - user_price 212 | print("El precio es insuficiente. Le quedan ", quantity, "€") 213 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 214 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 215 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 216 | 217 | if(user_price == int(price[6])): 218 | 219 | print("Ha recibido correctamente el producto con el precio exacto") 220 | print("Disfrute del producto :)") 221 | 222 | elif(user_price < int(price[6])): 223 | 224 | while(user_price < int(price[6])): 225 | 226 | quantity = int(price[6]) - user_price 227 | print("El precio es insuficiente. Le quedan ", quantity, "€") 228 | print("[!] Se le ha devuelto las", user_price, "monedas introducidas") 229 | print("\nEl producto seleccionado es", products[user], "el precio para este producto es", price[user], "€") 230 | user_price = int(input("[*] Introduce de nuevo el precio en la maquina, porfavor: ")) 231 | 232 | elif(user_price > int(price[6])): 233 | 234 | quantity = user_price - int(price[6]) 235 | print("Se le ha devuelto", quantity, "€") 236 | print("Disfrute del producto :)") -------------------------------------------------------------------------------- /exercises/#30 - Marco de Palabras.py: -------------------------------------------------------------------------------- 1 | # /* 2 | # * Crea una función que reciba un texto y muestre cada palabra en una línea, 3 | # * formando un marco rectangular de asteriscos. 4 | # * - ¿Qué te parece el reto? Se vería así: 5 | # * ********** 6 | # * * ¿Qué * 7 | # * * te * 8 | # * * parece * 9 | # * * el * 10 | # * * reto? * 11 | # * ********** 12 | # */ 13 | 14 | sentence = str(input("Introduce una frase y la marcare en un marco: ")) 15 | 16 | # using split() 17 | # to extract words from string 18 | palabras = sentence.split() 19 | 20 | print("******************") 21 | for i in palabras: 22 | print("*",i," *") 23 | 24 | print("*******************") -------------------------------------------------------------------------------- /exercises/#31 - Años Bisiestos.py: -------------------------------------------------------------------------------- 1 | # /* 2 | # * Reto #31 3 | # * AÑOS BISIESTOS 4 | # * Fecha publicación enunciado: 01/08/22 5 | # * Fecha publicación resolución: 08/08/22 6 | # * Dificultad: FÁCIL 7 | # * 8 | # * Enunciado: Crea una función que imprima los 30 próximos años bisiestos siguientes a uno dado. 9 | # * - Utiliza el menor número de líneas para resolver el ejercicio. 10 | # * 11 | # * Información adicional: 12 | # * - Usa el canal de nuestro discord (https://mouredev.com/discord) "🔁reto-semanal" para preguntas, dudas o prestar ayuda a la comunidad. 13 | # * - Puedes hacer un Fork del repo y una Pull Request al repo original para que veamos tu solución aportada. 14 | # * - Revisaré el ejercicio en directo desde Twitch el lunes siguiente al de su publicación. 15 | # * - Subiré una posible solución al ejercicio el lunes siguiente al de su publicación. 16 | # * 17 | # */ 18 | 19 | first_year = int(input("\nIntroduce un año, y te daré los 30 próximos años bisiestos: ")) 20 | thirty_leap_year = first_year + (30*4) 21 | counter = 00 22 | 23 | while (first_year < thirty_leap_year): 24 | counter = counter + 1 25 | first_year = first_year + 4 26 | print("\n[", counter, "]", "El próximo año bisiesto a", first_year - 4, "es el", first_year) 27 | -------------------------------------------------------------------------------- /exercises/#32 - El Segundo.py: -------------------------------------------------------------------------------- 1 | 2 | # * Enunciado: Dado un listado de números, encuentra el SEGUNDO más grande. 3 | 4 | num1 = int(input("Introduce un número: ")) 5 | num2 = int(input("Introduce el segundo número: ")) 6 | num3 = int(input("Introduce el tercer número: ")) 7 | num4 = int(input("Introduce el cuarto número: ")) 8 | num5 = int(input("Introduce el quinto número: ")) 9 | 10 | lista = [num1, num2, num3, num4, num5 ] 11 | 12 | lista.remove(max(lista)) 13 | print("El segundo numero mas grande de la lista es", max(lista)) 14 | --------------------------------------------------------------------------------