Skip to content

Commit 0e568a4

Browse files
author
JheisonQuiroga
committed
#4 - Python
1 parent 69c6126 commit 0e568a4

File tree

1 file changed

+146
-0
lines changed

1 file changed

+146
-0
lines changed
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
""" Cadenas de carácteres """
2+
# Las cadenas de caracteres conocidas como strings, son inmutables
3+
4+
# Operaciones
5+
6+
text = "Duban"
7+
print(text[0]) # Accediendo al primer valor
8+
print(text[-1]) # Accediendo al último valor
9+
10+
#Definiendo mas textos de varias formas
11+
text = 'Hola, mi nombre es "Duban"'
12+
print(text)
13+
text = "Hola, mi nombre es 'Duban'"
14+
print(text)
15+
text = "Hola, mi nombre es \"Duban\"" # Utilizando formateo de carácteres
16+
print(text)
17+
large_text = """Esta es un texto de varias líneas.
18+
Primero se declara la variable, luego se utilizan las
19+
'triple comillas dobles'"""
20+
print(large_text)
21+
large_text = ("Este es otro ejemplo de un texto de varias líneas,"
22+
"para ello se utiliza separando las comillas por medio de la coma (,)") # Texto unido por literales de cadena
23+
print(large_text)
24+
25+
#Subcadenas o indices(slices), cortes o rebanadas
26+
27+
text = "Duban Quiroga"
28+
# Los slices mantienen la siguiente estructura
29+
print(text[:5] + text[5:])
30+
first_name = text[0:5]
31+
lastname = text[6:]
32+
print(first_name, lastname)
33+
#Saltos de carácteres
34+
hello = "Hello World"
35+
print(hello[::2]) # HloWrd
36+
#Invertir una cadena
37+
print(hello[::-1]) # dlroW olleH
38+
39+
# Longitud de una cadena
40+
41+
print(len(text)) # 13 😏 Tu número fav
42+
43+
# Concatenación de cadenas
44+
first_name = "Duban"
45+
lastname = "Quiroga"
46+
47+
complete_name = first_name + " " + lastname
48+
print(complete_name) # Duban Quiroga
49+
print(complete_name * 3) # Podemos multiplicar las cadenas, a esto se le llama Repetición
50+
51+
# Recorrido de una cadena
52+
53+
for letter in complete_name:
54+
print(letter) # Imprime cada letra de la cadena
55+
56+
for letter in complete_name:
57+
print(letter, end="")
58+
print()
59+
60+
# Conversión a mayus y minus
61+
62+
print(complete_name.upper())
63+
print(complete_name.lower())
64+
65+
#Reemplazo
66+
print(complete_name.replace(complete_name, "Brais Moure"))
67+
68+
# División
69+
70+
first_name, lastname = complete_name.split(" ") # Separa cuando encuentra el espacio
71+
print(first_name)
72+
print(lastname)
73+
74+
# Unión
75+
# Siguiendo la siguiente lógica de concatenación de listas
76+
name = ["Duban"]
77+
l_name = ["Quiroga"]
78+
full_name = name + l_name
79+
print(full_name)
80+
print(", ".join([first_name] + [lastname])) # Duban, Quiroga
81+
82+
# Formateo de cadenas
83+
84+
print(f"{first_name} {lastname}") # Utilizando f-String
85+
print("%s %s"%(first_name, lastname))
86+
87+
# Verificación
88+
89+
does_d_in_duban = "D" in first_name
90+
print(does_d_in_duban) # True
91+
92+
93+
""" Dificultad Extra """
94+
95+
"""
96+
Crea un programa que analice dos palabras diferentes y realice comprobaciones
97+
* para descubrir si son:
98+
* - Palíndromos
99+
* - Anagramas
100+
* - Isogramas
101+
"""
102+
def main(word1, word2):
103+
104+
def is_palindrome(word1, word2):
105+
word2 = word2[::-1]
106+
return word1 == word2 # Retorna True o False
107+
108+
def is_anagrama(word1:str, word2:str) -> bool:
109+
word1 = sorted(word1.replace(" ", "").lower())
110+
word2 = sorted(word2.replace(" ", "").lower())
111+
return word1 == word2
112+
113+
114+
def is_isograma(word:str):
115+
word = word.lower().replace(" ", "")
116+
117+
return len(word) == len(set(word))
118+
119+
120+
if is_palindrome(word1, word2):
121+
print(f"{word1} y {word2} Son palindromos")
122+
else:
123+
print(f"{word1}, {word2} No son palindromos")
124+
125+
126+
if is_anagrama(word1, word2):
127+
print(f"{word1}, {word2} Son anagramas")
128+
else:
129+
print(f"{word1}, {word2} No son anagramas")
130+
131+
132+
if is_isograma(word1):
133+
print(f"La palabra: {word1} es Isograma")
134+
else:
135+
print(f"La palabra: {word1} no es isograma")
136+
137+
if is_isograma(word2):
138+
print(f"La palabra: {word2} es Isograma")
139+
else:
140+
print(f"La palabra: {word2} no es Isograma")
141+
142+
return f"{is_palindrome(word1, word2)}, {is_anagrama(word1, word2)}, {is_isograma(word1)}, {is_isograma(word2)}"
143+
144+
145+
print(main("Toledo", "el todo"))
146+

0 commit comments

Comments
 (0)