Skip to content

Commit a286e09

Browse files
authored
Merge pull request #7997 from D3rk1us/04-python
#4 - Python
2 parents 847f1c0 + 1c89118 commit a286e09

File tree

1 file changed

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

1 file changed

+121
-0
lines changed
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
"""
2+
* EJERCICIO:
3+
* Muestra ejemplos de todas las operaciones que puedes realizar con cadenas de caracteres
4+
* en tu lenguaje. Algunas de esas operaciones podrían ser (busca todas las que puedas):
5+
* - Acceso a caracteres específicos, subcadenas, longitud, concatenación, repetición, recorrido,
6+
* conversión a mayúsculas y minúsculas, reemplazo, división, unión, interpolación, verificación...
7+
*
8+
* DIFICULTAD EXTRA (opcional):
9+
* Crea un programa que analice dos palabras diferentes y realice comprobaciones
10+
* para descubrir si son:
11+
* - Palíndromos
12+
* - Anagramas
13+
* - Isogramas
14+
"""
15+
16+
nombre_cadena = 'Alfabeto'
17+
cadena = "abcd-efg-hijk"
18+
19+
# Acceso a caracteres específicos
20+
21+
print(cadena[1])
22+
23+
# Subcadenas
24+
25+
print(cadena[5:8])
26+
27+
# Longitud
28+
29+
print(len(cadena))
30+
31+
# Concatenación
32+
33+
print(nombre_cadena + ":" + cadena)
34+
print(nombre_cadena, ":", cadena)
35+
print(f"{nombre_cadena}: {cadena}")
36+
37+
# Repetición
38+
39+
print(cadena * 4)
40+
41+
# Recorrido
42+
43+
for c in cadena:
44+
print(c)
45+
46+
# Conversión a mayúsculas y minúsculas
47+
48+
print(cadena.upper())
49+
print(nombre_cadena.lower())
50+
51+
# Reemplazo
52+
53+
print(cadena.replace('a', 'z'))
54+
55+
# División y Unión
56+
57+
cadena = cadena.split('-')
58+
print(cadena)
59+
60+
cadena = ' '.join(cadena)
61+
print(cadena)
62+
63+
# Interpolación
64+
65+
print(f"Este es el {nombre_cadena.lower()}, que comienza con: {cadena}")
66+
67+
# Verificación
68+
69+
print(isinstance(cadena, str))
70+
print(type(nombre_cadena))
71+
72+
"""
73+
///////////////////////////////////////////////// DIFICULTAD EXTRA /////////////////////////////////////////////////
74+
"""
75+
76+
palabra1 = "adan"
77+
palabra2 = "nada"
78+
79+
# Funciones que comprueban si son palíndromos, anagramas y/o isogramas
80+
81+
def palindromo(palabra1, palabra2):
82+
list_palabra1 = [*palabra1] # Divide cada caracter en un elemento de un listado.
83+
list_palabra2 = [*palabra2]
84+
85+
list_palabra2.reverse()
86+
87+
if list_palabra1 == list_palabra2:
88+
return "Palíndromos."
89+
else:
90+
return "No son palíndromos."
91+
92+
def anagrama(palabra1, palabra2):
93+
list_palabra1 = [*palabra1] # Divide cada caracter en un elemento de un listado.
94+
list_palabra2 = [*palabra2]
95+
96+
list_palabra1.sort()
97+
list_palabra2.sort()
98+
99+
if list_palabra1 == list_palabra2:
100+
return "Anagramas."
101+
else:
102+
return "No son anagramas."
103+
104+
def isograma(palabra):
105+
count = 0 # Cuenta cuánto se repite una letra.
106+
107+
for a in range(len(palabra)):
108+
for k in palabra:
109+
110+
if palabra[a] == k:
111+
count += 1
112+
if count == 2: #En el momento que una letra se repite dos veces, deja de ser Isograma.
113+
return "No es Isograma."
114+
115+
count = 0
116+
117+
return "Es Isograma."
118+
119+
print(palindromo(palabra1, palabra2))
120+
print(anagrama(palabra1, palabra2))
121+
print(isograma(palabra2))

0 commit comments

Comments
 (0)