Skip to content

Commit

Permalink
Corrección Roadmap 4 + Nuevo ejercicio 5
Browse files Browse the repository at this point in the history
  • Loading branch information
mouredev committed Jan 29, 2024
1 parent 023864d commit 777bfe9
Show file tree
Hide file tree
Showing 3 changed files with 160 additions and 3 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
## Corrección y próximo ejercicio

> #### Lunes 15 de Enero de 2024 a las 20:00 (hora España) desde **[Twitch](https://twitch.tv/mouredev)**
> #### Consulta el **[horario](https://discord.gg/mouredev?event=1193838918689374298)** por país y crea un **[recordatorio](https://discord.gg/mouredev?event=1193838918689374298)**
> #### Lunes 5 de Febrero de 2024 a las 20:00 (hora España) desde **[Twitch](https://twitch.tv/mouredev)**
> #### Consulta el **[horario](https://discord.gg/YEU3gzfe?event=1201413529924796416)** por país y crea un **[recordatorio](https://discord.gg/YEU3gzfe?event=1201413529924796416)**
## Roadmap

Expand All @@ -32,7 +32,8 @@
|01|[OPERADORES Y ESTRUCTURAS DE CONTROL](./Roadmap/01%20-%20OPERADORES%20Y%20ESTRUCTURAS%20DE%20CONTROL/ejercicio.md)|[📝](./Roadmap/01%20-%20OPERADORES%20Y%20ESTRUCTURAS%20DE%20CONTROL/python/mouredev.py)|[▶️](https://youtu.be/DLSGCh9jdes)|[👥](./Roadmap/01%20-%20OPERADORES%20Y%20ESTRUCTURAS%20DE%20CONTROL/)
|02|[FUNCIONES Y ALCANCE](./Roadmap/02%20-%20FUNCIONES%20Y%20ALCANCE/ejercicio.md)|[📝](./Roadmap/02%20-%20FUNCIONES%20Y%20ALCANCE/python/mouredev.py)|[▶️](https://youtu.be/auxClgiX6UM)|[👥](./Roadmap/02%20-%20FUNCIONES%20Y%20ALCANCE/)
|03|[ESTRUCTURAS DE DATOS](./Roadmap/03%20-%20ESTRUCTURAS%20DE%20DATOS/ejercicio.md)|[📝](./Roadmap/03%20-%20ESTRUCTURAS%20DE%20DATOS/python/mouredev.py)|[▶️](https://youtu.be/brxtPtUbU7M)|[👥](./Roadmap/03%20-%20ESTRUCTURAS%20DE%20DATOS/)
|04|[CADENAS DE CARACTERES](./Roadmap/04%20-%20CADENAS%20DE%20CARACTERES/ejercicio.md)|[🗓️ 29/01/24](https://discord.gg/mouredev?event=1198925143242711040)||[👥](./Roadmap/04%20-%20CADENAS%20DE%20CARACTERES/)
|04|[CADENAS DE CARACTERES](./Roadmap/04%20-%20CADENAS%20DE%20CARACTERES/ejercicio.md)|[📝](./Roadmap/04%20-%20CADENAS%20DE%20CARACTERES/python/mouredev.py)||[👥](./Roadmap/04%20-%20CADENAS%20DE%20CARACTERES/)
|05|[VALOR Y REFERENCIA](./Roadmap/05%20-%20VALOR%20Y%20REFERENCIA/ejercicio.md)|[🗓️ 05/02/24](https://discord.gg/YEU3gzfe?event=1201413529924796416)||[👥](./Roadmap/05%20-%20VALOR%20Y%20REFERENCIA/)

## Instrucciones

Expand Down
128 changes: 128 additions & 0 deletions Roadmap/04 - CADENAS DE CARACTERES/python/mouredev.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
"""
Operaciones
"""

s1 = "Hola"
s2 = "Python"

# Concatenación
print(s1 + ", " + s2 + "!")

# Repetición
print(s1 * 3)

# Indexación
print(s1[0] + s1[1] + s1[2] + s1[3])

# Longitud
print(len(s2))

# Slicing (porción)
print(s2[2:6])
print(s2[2:])
print(s2[0:2])
print(s2[:2])

# Busqueda
print("a" in s1)
print("i" in s1)

# Reemplazo
print(s1.replace("o", "a"))

# División
print(s2.split("t"))

# Mayúsculas, minúsculas y letras en mayúsculas
print(s1.upper())
print(s1.lower())
print("brais moure".title())
print("brais moure".capitalize())

# Eliminación de espacios al principio y al final
print(" brais moure ".strip())

# Búsqueda al principio y al final
print(s1.startswith("Ho"))
print(s1.startswith("Py"))
print(s1.endswith("la"))
print(s1.endswith("thon"))

s3 = "Brais Moure @mouredev"

# Búsqueda de posición
print(s3.find("moure"))
print(s3.find("Moure"))
print(s3.find("M"))
print(s3.lower().find("m"))

# Búsqueda de ocurrencias
print(s3.lower().count("m"))

# Formateo
print("Saludo: {}, lenguje: {}!".format(s1, s2))

# Interpolación
print(f"Saludo: {s1}, lenguje: {s2}!")

# Tranformación en lista de caracteres
print(list(s3))

# Transformación de lista en cadena
l1 = [s1, ", ", s2, "!"]
print("".join(l1))

# Transformaciones numéricas
s4 = "123456"
s4 = int(s4)
print(s4)

s5 = "123456.123"
s5 = float(s5)
print(s5)

# Comprobaciones varias
s4 = "123456"
print(s1.isalnum())
print(s1.isalpha())
print(s4.isalpha())
print(s4.isnumeric())

"""
Extra
"""


def check(word1: str, word2: str):

# Palíndromos
print(f"¿{word1} es un palíndromo?: {word1 == word1[::-1]}")
print(f"¿{word2} es un palíndromo?: {word2 == word2[::-1]}")

# Anagramas
print(f"¿{word1} es anagrama de {word2}?: {sorted(word1) == sorted(word2)}")

# Isogramas

def isogram(word: str) -> bool:

word_dict = dict()
for character in word:
word_dict[character] = word_dict.get(character, 0) + 1

isogram = True
values = list(word_dict.values())
isogram_len = values[0]
for word_count in values:
if word_count != isogram_len:
isogram = False
break

return isogram

print(f"¿{word1} es un isograma?: {isogram(word1)}")
print(f"¿{word2} es un isograma?: {isogram(word2)}")


check("radar", "pythonpythonpythonpython")
# check("amor", "roma")
28 changes: 28 additions & 0 deletions Roadmap/05 - VALOR Y REFERENCIA/ejercicio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# #05 VALOR Y REFERENCIA
> #### Dificultad: Fácil | Publicación: 29/01/24 | Corrección: 05/02/24
## Ejercicio

```
/*
* EJERCICIO:
* - Muestra ejemplos de asignación de variables "por valor" y "por referencia", según
* su tipo de dato.
* - Muestra ejemplos de funciones con variables que se les pasan "por valor" y
* "por referencia", y cómo se comportan en cada caso en el momento de ser modificadas.
* (Entender estos conceptos es algo esencial en la gran mayoría de lenguajes)
*
* DIFICULTAD EXTRA (opcional):
* Crea dos programas que reciban dos parámetros (cada uno) definidos como variables anteriormente.
* - Cada programa recibe, en un caso, dos parámetros por valor, y en otro caso, por referencia.
* Estos parámetros los intercambia entre ellos en su interior, los retorna, y su retorno
* se asigna a dos variables diferentes a las originales. A continuación, imprime el valor de las
* variables originales y las nuevas, comprobando que se ha invertido su valor en las segundas.
* Comprueba también que se ha conservado el valor original en las primeras.
*/
```
#### Tienes toda la información extendida sobre el roadmap de retos de programación en **[retosdeprogramacion.com/roadmap](https://retosdeprogramacion.com/roadmap)**.

Sigue las **[instrucciones](../../README.md)**, consulta las correcciones y aporta la tuya propia utilizando el lenguaje de programación que quieras.

> Recuerda que cada semana se publica un nuevo ejercicio y se corrige el de la semana anterior en directo desde **[Twitch](https://twitch.tv/mouredev)**. Tienes el horario en la sección "eventos" del servidor de **[Discord](https://discord.gg/mouredev)**.

0 comments on commit 777bfe9

Please sign in to comment.