Skip to content

Commit 0f5fb2c

Browse files
committed
Add challenges
1 parent ffabffa commit 0f5fb2c

File tree

3 files changed

+94
-0
lines changed

3 files changed

+94
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
"""
2+
¿Está en Equilibrio la Alianza entre Reed Richards y Johnny Storm?
3+
4+
En el universo de los 4 Fantásticos, la unión y el equilibrio entre los poderes es fundamental para enfrentar cualquier desafío. En este problema, nos centraremos en dos de sus miembros:
5+
6+
Reed Richards (Mr. Fantastic), representado por la letra R.
7+
Johnny Storm (La Antorcha Humana), representado por la letra J.
8+
9+
Objetivo:
10+
11+
Crea una función en Python que reciba una cadena de texto. Esta función debe contar cuántas veces aparece la letra R (para Reed Richards) y cuántas veces aparece la letra J (para Johnny Storm) en la cadena.
12+
13+
- Si la cantidad de R y la cantidad de J son iguales, se considera que la alianza entre la mente y el fuego está en equilibrio y la función debe retornar True.
14+
- Si las cantidades no son iguales, la función debe retornar False.
15+
- En el caso de que no aparezca ninguna de las dos letras en la cadena, se entiende que el equilibrio se mantiene (0 = 0), por lo que la función debe retornar True.
16+
"""
17+
18+
text = "RRRRJJJjjjrrr"
19+
20+
def check_is_balanced(text):
21+
text = text.upper()
22+
23+
# contar facilmente el número de veces que aparece una letra
24+
count_r = text.count("R") # Reed Richards
25+
count_j = text.count("J") # Johnny Storm
26+
27+
print(f"count_r: {count_r} count_j: {count_j}")
28+
29+
# if count_r == count_j:
30+
# return True
31+
# else:
32+
# return False
33+
34+
return count_r == count_j
35+
36+
print(check_is_balanced("RRJJ"))
37+
print(check_is_balanced("RRRRJJ"))
38+
print(check_is_balanced("RRJJJJJJ"))
39+
print(check_is_balanced("awwwaqAQAQA"))
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
"""
2+
En Jurassic Park, se ha observado que los dinosaurios carnívoros, como el temible T-Rex, depositan un número par de huevos. Imagina que tienes una lista de números enteros en la que cada número representa la cantidad de huevos puestos por un dinosaurio en el parque.
3+
4+
Importante: Solo se consideran los huevos de los dinosaurios carnívoros (T-Rex) aquellos números que son pares.
5+
6+
Objetivo:
7+
Escribe una función en Python que reciba una lista de números enteros y devuelva la suma total de los huevos que pertenecen a los dinosaurios carnívoros (es decir, la suma de todos los números pares en la lista).
8+
"""
9+
10+
# Para ver si un número es par
11+
# siempre usamos el módulo %
12+
# nos da el resto de la división: eggs % 2 == 2
13+
14+
def count_carnivore_dinosaur_eggs(egg_list) -> int:
15+
"""
16+
Esta función recibe una lista de numeros enteros que representan la cantidad de huevos que han puesto diferentes dinosaurios en el parque jurásico y los de número par son de carnívoros. Devuelve un número con la suma de todos los huevos de carnívoros.
17+
"""
18+
total_carnivore_eggs = 0
19+
20+
for eggs in egg_list:
21+
if eggs % 2 == 0:
22+
total_carnivore_eggs += eggs
23+
24+
# esta forma más corta:
25+
# total_carnivore_eggs = sum(filter(lambda x: x % 2 == 0, egg_list))
26+
27+
return total_carnivore_eggs
28+
29+
egg_list = [3, 4, 7, 5, 8]
30+
print(count_carnivore_dinosaur_eggs(egg_list)) # 12
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
"""
2+
Dado un array de números y un número goal, encuentra los dos primeros números del array que sumen el número goal y devuelve sus índices. Si no existe tal combinación, devuelve None.
3+
4+
nums = [4, 5, 6, 2]
5+
goal = 8
6+
7+
find_first_sum(nums, goal) # [2, 3]
8+
"""
9+
10+
def find_first_sum(nums, goal):
11+
# early return, una validación rápida
12+
if len(nums) == 0: return None
13+
14+
for i in range(len(nums)):
15+
for j in range(i + 1, len(nums)):
16+
if nums[i] + nums[j] == goal:
17+
return [i, j]
18+
19+
return None # no se encontró ninguna combinación
20+
21+
22+
nums = [4, 5, 6, 2]
23+
goal = 8
24+
result = find_first_sum(nums, goal) # [2, 3]
25+
print(result)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy