Skip to content

Commit

Permalink
Merge pull request mouredev#6702 from crisky94/main
Browse files Browse the repository at this point in the history
Reto #0 - Python y Reto #1 - Python
  • Loading branch information
kontroldev authored Dec 13, 2024
2 parents a663162 + 96c05f7 commit a59c346
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 0 deletions.
21 changes: 21 additions & 0 deletions Retos/Reto #0 - EL FAMOSO FIZZ BUZZ [Fácil]/python/crisky94.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# /*
# * 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".
# */


for numbers in range(1, 101):
if numbers % 5 == 0 and numbers % 3 == 0:
print('fizzbuzz')
elif numbers % 3 == 0:
print('fizz')
elif numbers % 5 == 0:
print('buzz')
else:
print(numbers)


37 changes: 37 additions & 0 deletions Retos/Reto #1 - EL LENGUAJE HACKER [Fácil]/python/crisky94.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# /*
# * Escribe un programa que reciba un texto y transforme lenguaje natural a
# * "lenguaje hacker" (conocido realmente como "leet" o "1337"). Este lenguaje
# * se caracteriza por sustituir caracteres alfanuméricos.
# * - Utiliza esta tabla (https://www.gamehouse.com/blog/leet-speak-cheat-sheet/)
# * con el alfabeto y los números en "leet".
# * (Usa la primera opción de cada transformación. Por ejemplo "4" para la "a")
# */


def transformar_lenguaje_hacker(texto):
if not texto == 'str':
raise TypeError('El texto no puede contener números')
else:
leet_dict = {
'a': '4', 'b': '13', 'c': '[', 'd': ')', 'e': '3',
'f': '|=', 'g': '6', 'h': '#', 'i': '1', 'j': ',_|',
'k': '>|', 'l': '1', 'm': '/\\/\\', 'n': '^/', 'o': '0',
'p': '|*', 'q': '(_,)', 'r': 'I2', 's': '5', 't': '7',
'u': '(_)', 'v': '\\/', 'w': '\\/\\/', 'x': '><', 'y': '`/',
'z': '2', '1': 'L', '2': 'R', '3': 'E', '4': 'A', '5': 'S',
'6': 'b', '7': 'T', '8': 'B', '9': 'g', '0': 'o'
}

texto_hacker = ''.join(leet_dict.get(char.lower(), char) for char in texto)

return texto_hacker

try:
texto_usuario = input('Escribe un texto: ')

resultado = transformar_lenguaje_hacker(texto_usuario)

print(f'Texto en lenguaje hacker: {resultado}')

except TypeError as e:
print(e)
56 changes: 56 additions & 0 deletions Retos/Reto #2 - EL PARTIDO DE TENIS [Media]/python/crisky94.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# /*
# * Escribe un programa que muestre cómo transcurre un juego de tenis y quién lo ha ganado.
# * El programa recibirá una secuencia formada por "P1" (Player 1) o "P2" (Player 2), según quien
# * gane cada punto del juego.
# *
# * - Las puntuaciones de un juego son "Love" (cero), 15, 30, 40, "Deuce" (empate), ventaja.
# * - Ante la secuencia [P1, P1, P2, P2, P1, P2, P1, P1], el programa mostraría lo siguiente:
# * 15 - Love
# * 30 - Love
# * 30 - 15
# * 30 - 30
# * 40 - 30
# * Deuce
# * Ventaja P1
# * Ha ganado el P1
# * - Si quieres, puedes controlar errores en la entrada de datos.
# * - Consulta las reglas del juego si tienes dudas sobre el sistema de puntos.
# */

def mostrar_puntos(puntos_p1, puntos_p2):
puntuaciones = ['Love', '15', '30', '40']

if puntos_p1 >= 3 or puntos_p2 >= 3:
if puntos_p1 == puntos_p2:
return 'Deuce'

if puntos_p1 > 3:
print('Ventaja P1')
return 'Ha ganado P1'
elif puntos_p2 > 3:
print('Ventaja P2')
return 'Ha ganado P2'

return f'{puntuaciones[puntos_p1]} - {puntuaciones[puntos_p2]}'

def jugar_tenis(secuencia):
puntos_p1 = 0
puntos_p2 = 0

for punto in secuencia:
if punto == "P1":
puntos_p1 += 1
elif punto == "P2":
puntos_p2 += 1
else :
print('Error: entrada no valida')
return

resultado = mostrar_puntos(puntos_p1, puntos_p2)
print(resultado)

if 'Ha ganado' in resultado:
break

secuencia = ["P1", "P1", "P2", "P2", "P1", "P2", "P1", "P1"]
jugar_tenis(secuencia)

0 comments on commit a59c346

Please sign in to comment.