Skip to content

Commit b0435a6

Browse files
authored
Merge pull request #8408 from Lio7master/#4-Python
#4-Python
2 parents d6f94a8 + 67e41ec commit b0435a6

File tree

1 file changed

+155
-0
lines changed

1 file changed

+155
-0
lines changed
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
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+
#Operaciones
16+
17+
s1 = "hola"
18+
s2 = "PYTHON"
19+
20+
print(s1 + " " + s2)
21+
22+
23+
#replicacion
24+
print(s1 * 3)
25+
26+
#indexacion
27+
print(s1[0]+s2[4]+s1[2]+s1[3])
28+
29+
#longitud
30+
print("longitud cadena Python: " + str(len(s2)))
31+
32+
#slicing
33+
34+
print("slicing [2:5]= " + s2[2:5])
35+
print("slicing [2:]: " + s2[2:])
36+
print("slicing [0:2]: " + s2[0:2])
37+
print("slicing [:2]: " + s2[:2])
38+
39+
#busqueda
40+
41+
print("a" in s1)
42+
print("ho" in s1)
43+
print("y" in s1)
44+
45+
#remplazo
46+
print(s1.replace("o", "a"))
47+
48+
#division
49+
print(s2.split("t"))
50+
s3 = "pythonthon"
51+
print(s3.split("t"))
52+
53+
#Mayusculas y minusculas
54+
print(s1.upper())
55+
print(s2.lower())
56+
print("lio 7 master".title())
57+
print("lio 7 master".capitalize())
58+
59+
#eliminacion de espacios al principio y fin
60+
61+
print(" leo limon ".strip() + "@dominio.com")
62+
63+
#busqueda al principio y al final
64+
print(s1.startswith("py"))
65+
print(s1.startswith("ho"))
66+
print(s1.endswith("la"))
67+
print(s1.endswith("hon"))
68+
69+
#busqueda de posición
70+
71+
print("Leonardo Limon @lio7master".find("li"))
72+
print("Leonardo Limon @lio7master".find("lim"))
73+
print("Leonardo Limon @lio7master".find("Lim"))
74+
print("Leonardo Limon @lio7master".find("L"))
75+
print("Leonardo Limon @lio7master".find("l"))
76+
77+
#busqueda de ocurrencia
78+
print(s3.lower().count("h"))
79+
80+
#formato
81+
print("Saludos: {}, lenguaje: {}".format(s1, s2))
82+
83+
#interpolacion
84+
print(f"Saludos: {s1}, lenguaje: {s2}")
85+
86+
#Transformacion de lista de caracteres
87+
88+
print(list(s3))
89+
90+
#trsnformacion de lista en cadena
91+
92+
l1 = [s1, "", "", s2, "!"]
93+
94+
print(" ".join(l1))
95+
96+
#transformacion numerica
97+
s4 = "1234567"
98+
s4 = int(s4)
99+
print(s4)
100+
101+
102+
s5 = "1234567.89"
103+
s5 = float (s5)
104+
print(s5)
105+
106+
#comprobacion varias
107+
s4 = "1234567"
108+
print(s1.isalnum())
109+
print(s1.isalpha())
110+
print(s4.isalpha())
111+
print(s4.isnumeric())
112+
113+
114+
#EXTRA
115+
116+
117+
def check(word1: str, word2: str):
118+
119+
#palindromos -> Palabras/fraces que se leen igual de derecha a izquierda como izquierda a derecha.
120+
print(word1)
121+
print(word2[::-1]) #Esta sentencia invierte la posicion del strinf pero se pueden usar otras funciones
122+
123+
print(f"{word1} es un palindromo?: {word1 == word1[::-1]}")
124+
print(f"{word2} es un palindromo?: {word2 == word2[::-1]}")
125+
126+
#anagrama -> es una palabra que resulta de reordenar todas las letras de otra palabra
127+
print(f"{word1} es un anagrama de {word2}?: {sorted(word1)== sorted(word2)}")
128+
129+
#heterograma -> es una palabra o frase que no contiene ninguna letra repetida.
130+
#isograma -> en una palabra aparecen el mismo numero de veces cada letra, o en una frase cada palabra palabra.
131+
print(len(word1)) #la longitud total de la palabra
132+
print(len(set(word1)))#el set por su concepto mismo no permite el guardar valores duplicados, por lo que nos permite contar las letras diferentes para este caso
133+
print(f"¿La palabra {word1} es un isograma? {len(word1)==len(set(word1))}")
134+
print(f"¿La palabra {word2} es un isograma? {len(word2)==len(set(word2))}")
135+
136+
def isograma(word: str) -> bool:
137+
word_dict = dict()
138+
for charater in word:
139+
word_dict[charater] = word_dict .get(charater, 0) + 1
140+
141+
isograma = True
142+
values = list(word_dict.values())
143+
isograma_len = values[0]
144+
for word_count in word_dict.keys():
145+
if len(word_count) != isograma_len:
146+
isograma = False
147+
break
148+
return isograma
149+
150+
print(f"¿La palabra {word1} es un isograma? (fun) {isograma(word1)}")
151+
print(f"¿La palabra {word2} es un isograma?(fun){isograma(word2)}")
152+
153+
check("radar", "python")
154+
check("amor", "roma")
155+
check("radar", "python")

0 commit comments

Comments
 (0)