From 48d3242600616b9d906f5a82f03776d77bc6a5df Mon Sep 17 00:00:00 2001 From: KikolasDEV Date: Wed, 10 Jul 2024 19:27:29 +0200 Subject: [PATCH 1/5] Reto #00 - Python --- app/src/main/python/00_FizzBuzz.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 app/src/main/python/00_FizzBuzz.py diff --git a/app/src/main/python/00_FizzBuzz.py b/app/src/main/python/00_FizzBuzz.py new file mode 100644 index 000000000..2b85e8e8a --- /dev/null +++ b/app/src/main/python/00_FizzBuzz.py @@ -0,0 +1,26 @@ +# * Reto #0 +# * EL FAMOSO "FIZZ BUZZ" +# * Fecha publicación enunciado: 27/12/21 +# * Fecha publicación resolución: 03/01/22 +# * Dificultad: FÁCIL +# * Enunciado: Escribe un programa que muestre por consola (con un print) los números de 1 a 100 (ambos incluidos y con un salto de línea entre cada impresión), sustituyendo los siguientes: +# * - Múltiplos de 3 por la palabra "fizz". +# * - Múltiplos de 5 por la palabra "buzz". +# * - Múltiplos de 3 y de 5 a la vez por la palabra "fizzbuzz". +# * +# * Información adicional: +# * - Usa el canal de nuestro discord (https://mouredev.com/discord) "🔁reto-semanal" para preguntas, dudas o prestar ayuda a la acomunidad. +# * - Puedes hacer un Fork del repo y una Pull Request al repo original para que veamos tu solución aportada. +# * - Revisaré el ejercicio en directo desde Twitch el lunes siguiente al de su publicación. +# * - Subiré una posible solución al ejercicio el lunes siguiente al de su publicación. + +for i in range(1, 101): + if i % 3 == 0 and i % 5 == 0: + print("fizzbuzz") + elif i % 3 == 0: + print("fizz") + elif i % 5 == 0: + print("buzz") + else: + print(i) + print() From 3982b79e86cd594034fc55ec425748c06037aebd Mon Sep 17 00:00:00 2001 From: KikolasDEV Date: Wed, 10 Jul 2024 20:20:46 +0200 Subject: [PATCH 2/5] Reto #01 Python --- app/src/main/python/01_Anagrama.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 app/src/main/python/01_Anagrama.py diff --git a/app/src/main/python/01_Anagrama.py b/app/src/main/python/01_Anagrama.py new file mode 100644 index 000000000..e9228a496 --- /dev/null +++ b/app/src/main/python/01_Anagrama.py @@ -0,0 +1,23 @@ +# * Escribe una función que reciba dos palabras (String) y retorne +# * verdadero o falso (Bool) según sean o no anagramas. +# * - Un Anagrama consiste en formar una palabra reordenando TODAS +# * las letras de otra palabra inicial. +# * - NO hace falta comprobar que ambas palabras existan. +# * - Dos palabras exactamente iguales no son anagrama. + +def es_anagrama(word1: str, word2: str) -> bool: + if word1 == word2: + return False + elif len(word1) != len(word2): + return False + else: + return sorted(word1) == sorted(word2) + + +first_word = input("Introduzca la primera palabra: ").lower() +second_word = input("Introduzca la segunda palabra: ").lower() + +if es_anagrama(first_word, second_word): + print("Las palabras elegidas son anagrama") +else: + print("Las palabras elegidas NO son anagrama") From 68e0d24c6918081ef5acf414d38556e1fb5abc01 Mon Sep 17 00:00:00 2001 From: KikolasDEV Date: Wed, 17 Jul 2024 12:15:07 +0200 Subject: [PATCH 3/5] Reto #02 - Python --- app/src/main/python/02_Fibonacci.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 app/src/main/python/02_Fibonacci.py diff --git a/app/src/main/python/02_Fibonacci.py b/app/src/main/python/02_Fibonacci.py new file mode 100644 index 000000000..7a0312bd3 --- /dev/null +++ b/app/src/main/python/02_Fibonacci.py @@ -0,0 +1,14 @@ +# Escribe un programa que imprima los 50 primeros números de la sucesión +# de Fibonacci empezando en 0. +# La serie Fibonacci se compone por una sucesión de números en +# la que el siguiente siempre es la suma de los dos anteriores. +# 0, 1, 1, 2, 3, 5, 8, 13... + +fibonacci = [] + +for number in range(50): + fibonacci.append(number) + if len(fibonacci) > 2: + fibonacci[number] = fibonacci[number - 1] + fibonacci[number - 2] + +print(f"Fibonacci: {fibonacci}") From e75711331b867e6f6d38a5f68f7b21c35dd3ab2c Mon Sep 17 00:00:00 2001 From: KikolasDEV Date: Wed, 17 Jul 2024 12:15:55 +0200 Subject: [PATCH 4/5] Reto #03 - Python --- app/src/main/python/03_NumeroPrimo.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 app/src/main/python/03_NumeroPrimo.py diff --git a/app/src/main/python/03_NumeroPrimo.py b/app/src/main/python/03_NumeroPrimo.py new file mode 100644 index 000000000..3509f7b03 --- /dev/null +++ b/app/src/main/python/03_NumeroPrimo.py @@ -0,0 +1,18 @@ +# Escribe un programa que se encargue de comprobar si un número es o no primo. +# Hecho esto, imprime los números primos entre 1 y 100. + +def es_primo(number): + if number == 2: + return True + else: + for x in range(2, number): + if number % x != 0: + x += 1 + else: + return False + return True + + +for x in range(2, 101): + if es_primo(x): + print(x) From f5d30fb24569df4e9cb6622ff6299e3905cb3ae6 Mon Sep 17 00:00:00 2001 From: KikolasDEV Date: Wed, 17 Jul 2024 12:16:38 +0200 Subject: [PATCH 5/5] Reto #04 - Python --- app/src/main/python/04_Poligono.py | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 app/src/main/python/04_Poligono.py diff --git a/app/src/main/python/04_Poligono.py b/app/src/main/python/04_Poligono.py new file mode 100644 index 000000000..88ec81083 --- /dev/null +++ b/app/src/main/python/04_Poligono.py @@ -0,0 +1,31 @@ +# Crea una única función (importante que sólo sea una) que sea capaz +# de calcular y retornar el área de un polígono. +# - La función recibirá por parámetro sólo UN polígono a la vez. +# - Los polígonos soportados serán Triángulo, Cuadrado y Rectángulo. +# - Imprime el cálculo del área de un polígono de cada tipo. +def calculate(polygon): + + if polygon == "triangle": + base_param = float(input("Enter the base: ")) + height_param = float(input("Enter the height: ")) + return (base_param * height_param) // 2 + elif polygon == "rectangle": + base_param = float(input("Enter the base: ")) + height_param = float(input("Enter the height: ")) + return base_param * height_param + elif polygon == "square": + side_param = float(input("Enter the side: ")) + return side_param * side_param + + +print("Triangle area") +triangle = calculate("triangle") +print(f"The triangle area is: {triangle}\n") + +print("Square area") +square = calculate("square") +print(f"The square area is: {square}\n") + +print("Rectangle area") +rectangle = calculate("rectangle") +print(f"The rectangle area is: {rectangle}")