Skip to content

Commit 0d232e8

Browse files
authored
Merge pull request mouredev#6583 from jose-larss/main
#4 - Python
2 parents 54822ec + df5bca2 commit 0d232e8

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
"""
2+
Cadena de Caracteres
3+
"""
4+
cadena1 = "Esto es una cadena de caracteres o string"
5+
cadena2 = "cadena 2"
6+
7+
# Acceso a caracteres específicos
8+
if 'e' in cadena1:
9+
print("hay e")
10+
print('o' in cadena1)
11+
# Subcadenas
12+
13+
# Longitud
14+
print(f"La longitud de la cadene es: {len(cadena1)}")
15+
16+
# Concatenación
17+
cadena3 = cadena1 + cadena2
18+
print(f"La concatenación de la cadena 1 mas la cadena2 es: {cadena3}")
19+
20+
# Repetición
21+
print(f"La repeticion es {cadena1 * 3}")
22+
23+
# Indexación
24+
print(cadena1[0] + cadena1[5] + cadena2[0] + cadena2[5])
25+
26+
# Slicing (Porción)
27+
print(cadena1[2:6])
28+
29+
# Recorrido
30+
for letra in cadena1:
31+
print(letra)
32+
33+
# Conversión a mayúsculas y Minúsculas
34+
print(cadena1.upper()) # mayúsculas
35+
print(cadena1.lower()) # minúsculas
36+
print(cadena1.capitalize())
37+
print(cadena1.title())
38+
39+
# Reemplazo
40+
print(cadena1.replace('o', 'a'))
41+
42+
# División
43+
print(cadena1.split(" "))
44+
45+
# Eliminación de espacios al principio y al final
46+
print(" brais moure ".strip())
47+
48+
# Búsqueda al principio y al final
49+
print(cadena1.startswith("Ho"))
50+
print(cadena1.startswith("Py"))
51+
print(cadena1.endswith("la"))
52+
print(cadena1.endswith("thon"))
53+
54+
s3 = "Brais Moure @mouredev"
55+
56+
# Búsqueda de posición
57+
print(s3.find("moure"))
58+
print(s3.find("Moure"))
59+
print(s3.find("M"))
60+
print(s3.lower().find("m"))
61+
62+
# Interpolación
63+
print(f"Saludo: {cadena1}, lenguje: {cadena2}!")
64+
65+
# Formateo
66+
print("Saludo: {}, lenguaje: {}!".format(cadena1, cadena2))
67+
68+
# Verificación
69+
70+
# Tranformación en lista de caracteres
71+
print(list(cadena2))
72+
73+
# Transformación de lista en cadena
74+
l1 = [cadena1, ", ", cadena2, "!"]
75+
print("".join(l1))
76+
77+
# Transformaciones numéricas
78+
s4 = "123456"
79+
s4 = int(s4)
80+
print(s4)
81+
82+
s5 = "123456.123"
83+
s5 = float(s5)
84+
print(s5)
85+
86+
# Comprobaciones varias
87+
s4 = "123456"
88+
print(cadena1.isalnum())
89+
print(cadena2.isalpha())
90+
print(s4.isalpha())
91+
print(s4.isnumeric())
92+
93+
"""
94+
* DIFICULTAD EXTRA (opcional):
95+
* Crea un programa que analice dos palabras diferentes y realice comprobaciones
96+
* para descubrir si son:
97+
* - Palíndromos
98+
* - Anagramas
99+
* - Isogramas
100+
*/
101+
"""
102+
def check(word1: str, word2: str):
103+
print(word1)
104+
print(word1[::-1])
105+
print(sorted(word1))
106+
print(sorted(word2))
107+
# Palíndromos
108+
print(f"¿{word1} es un palíndromo?: {word1 == word1[::-1]}")
109+
print(f"¿{word2} es un palíndromo?: {word2 == word2[::-1]}")
110+
111+
# Anagramas
112+
print(f"¿{word1} es anagrama de {word2}?: {sorted(word1) == sorted(word2)}")
113+
114+
# Isogramas
115+
116+
def isogram(word: str) -> bool:
117+
118+
word_dict = dict()
119+
for character in word:
120+
word_dict[character] = word_dict.get(character, 0) + 1
121+
122+
isogram = True
123+
values = list(word_dict.values())
124+
isogram_len = values[0]
125+
for word_count in values:
126+
if word_count != isogram_len:
127+
isogram = False
128+
break
129+
130+
return isogram
131+
132+
print(f"¿{word1} es un isograma?: {isogram(word1)}")
133+
print(f"¿{word2} es un isograma?: {isogram(word2)}")
134+
135+
136+
check("radar", "pythonpythonpythonpython")
137+
#check("amor", "roma")
138+
#check("cara", "arca")

0 commit comments

Comments
 (0)