Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reto #00 - Python #1312

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions app/src/main/python/00_FizzBuzz.py
Original file line number Diff line number Diff line change
@@ -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()
23 changes: 23 additions & 0 deletions app/src/main/python/01_Anagrama.py
Original file line number Diff line number Diff line change
@@ -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")
14 changes: 14 additions & 0 deletions app/src/main/python/02_Fibonacci.py
Original file line number Diff line number Diff line change
@@ -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}")
18 changes: 18 additions & 0 deletions app/src/main/python/03_NumeroPrimo.py
Original file line number Diff line number Diff line change
@@ -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)
31 changes: 31 additions & 0 deletions app/src/main/python/04_Poligono.py
Original file line number Diff line number Diff line change
@@ -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}")