Skip to content

Commit 91591f3

Browse files
authored
Merge pull request mouredev#6926 from njaimev/main
"#4 - Python"
2 parents c145198 + aa3e5a8 commit 91591f3

File tree

1 file changed

+158
-0
lines changed
  • Roadmap/04 - CADENAS DE CARACTERES/python

1 file changed

+158
-0
lines changed
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
# 1. Concatenación de caracteres
2+
3+
palabra_1 = "Gato"
4+
palabra_2 = "Perro"
5+
6+
union = palabra_1 + " " + palabra_2
7+
8+
print(union)
9+
10+
# 2. Repetición de caracteres
11+
12+
repeticion = palabra_1 * 4
13+
14+
print(repeticion)
15+
16+
# la función join agrega un espacio al inicio de cada palabra
17+
18+
resultado_2 = " ".join([palabra_1] * 4)
19+
20+
print(resultado_2)
21+
22+
# 3. Acceso e indexación: acceder a un caracter específico con el índice.
23+
24+
print(palabra_1[3])
25+
print(palabra_1[0])
26+
print(palabra_1[-2]) #cuenta desde el último caracter
27+
28+
# 4. Slicing: extrae una porción de la cadena de caracteres
29+
30+
frase = "Hoy no tomé desayuno"
31+
32+
print(frase[0:3]) #se excluye el ultimo indice
33+
print(frase[12:]) #si no se indica el fin este llega al final de la cadena
34+
35+
# 5. Longitud: nos entrega la longitud de la cadena de caracteres
36+
37+
print(len(frase))
38+
39+
# 6. Búsqueda de caracteres o subcadenas
40+
41+
print("D" in frase)
42+
print("d" in frase)
43+
print(frase.find("desayuno"))
44+
print(frase.index("desayuno"))
45+
46+
# 7. Reemplazo de subcadenas
47+
48+
nueva_frase = frase.replace("no", "si")
49+
50+
print(nueva_frase)
51+
52+
# Cuando se repite una palabra la va a cambiar, para evitarlo se especifica cuantas veces se quiere cambiar
53+
54+
nueva_frase2 = frase.replace("no", "si", 1)
55+
56+
print(nueva_frase2)
57+
58+
# 8. Conversión a mayúsculas y minúsculas
59+
60+
print(frase.upper())
61+
print(frase.lower())
62+
63+
# 9. Capitalización y formato de título
64+
65+
palabra = "hola gato"
66+
67+
print(palabra.capitalize()) # Solo pone mayuscula la primera letra
68+
print(palabra.title()) # Pone mayuscula en cada palabra
69+
70+
# 10. Eliminar espacios en blanco
71+
72+
cadena = " Hola Mundo Gatos "
73+
74+
print(cadena.strip())
75+
print(cadena.lstrip()) # Solo a la izquierda
76+
print(cadena.rstrip()) # Solo a la derecha
77+
78+
# 11. Dividir y unir: se divide con split y se une con join
79+
80+
partes = cadena.split() # Divide por espacios
81+
print(palabra_1.split("t"))
82+
83+
print(partes)
84+
85+
unir = " ".join(partes)
86+
87+
print(unir)
88+
89+
# 12. Verificación de tipo de caracteres
90+
91+
print(palabra_1.isdigit()) #Falso, son letras
92+
print(palabra_1.isalpha()) #True, son todas letras
93+
94+
palabraConNumeros = "abcd1234"
95+
96+
print(palabraConNumeros.isalnum()) #True, son letras y numeros
97+
98+
# 14. Formato de cadenas
99+
100+
nombre = "Juan"
101+
edad = 45
102+
103+
print(f"Nombre: {nombre}, Edad: {edad}")
104+
print("Nombre: {}, Edad: {}".format(nombre, edad))
105+
print("Nombre: %s, Edad: %d" %(nombre, edad))
106+
107+
# 15. Transformación numérica
108+
109+
num = "012345"
110+
num = int(num)
111+
print(int(num))
112+
print(type(num))
113+
114+
# 16. Transformacion decimales
115+
116+
dec = "1234.123"
117+
dec = float(dec)
118+
print(float(dec))
119+
print(type(dec))
120+
121+
122+
#* DIFICULTAD EXTRA (opcional):
123+
# * Crea un programa que analice dos palabras diferentes y realice comprobaciones
124+
# * para descubrir si son:
125+
# * - Palíndromos
126+
# * - Anagramas
127+
# * - Isogramas
128+
129+
palabra1 = "arenera"
130+
palabra2 = "amor"
131+
132+
def palindromos(palabra1):
133+
return palabra1 == palabra1[::-1] # [inicio:fin:paso]
134+
135+
print(palindromos(palabra1))
136+
137+
# lo que hace [::-1] es dar vuelta la palabra
138+
# == va a devolver un booleano porque compara los valores
139+
140+
def anagramas(palabra1, palabra2):
141+
return sorted(palabra1) == sorted(palabra2)
142+
143+
print(anagramas(palabra1, palabra2))
144+
145+
# Isograma: palabra donde ninguna letra se repite.
146+
147+
pal1 = "Murcielago"
148+
149+
# primero separamos la palabra por sus caracteres con set, donde no se muestran repetidos
150+
# se mide el largo de la palabra con len() y se compara con len() del set() de la palabra
151+
# si es distinto significa que alguna letra se repite, por lo que no es isograma
152+
# si son iguales, la palabra no tiene caracteres que se repiten, siendo isograma
153+
154+
if len(pal1) == len(set(pal1)):
155+
print(f"{pal1}, si es isograma")
156+
157+
else:
158+
print(f"{pal1}, no es isograma")

0 commit comments

Comments
 (0)