1+ ### cadena de caracteres ###
2+
3+ #operaciones:
4+ my_string = "hola, "
5+ my_other_string = "Python!"
6+
7+ #concatenación:
8+
9+ my_add_string = my_string + my_other_string
10+ print (my_add_string )
11+ #tambien se pueden concatenar variables con caracteres, espacios, etc.
12+ print (my_string + " " + my_other_string + "!" )
13+
14+ # repetición o multiplicación:
15+
16+ print (my_add_string * 2 )
17+
18+ #indexación o desempaquetado
19+
20+ my_string = "Python"
21+ print (my_string [1 ])
22+
23+ ###Funciones del sistema###
24+
25+ #longitud de la cadena de texto
26+
27+ my_length = len (my_string )
28+ print (my_length )
29+
30+ #Slicing (porción)
31+
32+ print (my_add_string [6 :- 1 ])# la opción sin colocar nada en el segundo indice tambien es válido
33+ print (my_add_string [6 :])
34+ print (my_add_string [::- 1 ]) # invierte la palabra al imprimirla desde el final al principio.
35+
36+ #busqueda
37+
38+ print ("Py" in my_add_string )
39+
40+ #Metodo
41+ #reemplazo:
42+
43+ print (my_string .replace ("o" , "a" ))
44+
45+ #division:
46+ print (my_add_string .split (" " ))
47+
48+ # mayusculas y minusculas
49+
50+ print (my_add_string .capitalize ())#convierte a mayuscula la primer letra de la cadena de texto a mayusculas
51+ print (my_add_string .title ())#convierte la primera letra de cada palabra de la cadena de texto a mayusculas
52+ print (my_string .upper ())#convierte todas las letras a mayusculas
53+ print (my_string .lower ())#convierte todas las letras a minusculas
54+
55+ #eliminacion de espacios al principio y final de la cadena de texto
56+
57+ print (my_add_string .strip ())
58+
59+ #busqueda al principio o final
60+ print (my_string .startswith ("ho" ))
61+ print (my_string .endswith ("a" ))
62+
63+ #busqueda de posición
64+
65+ print (my_add_string .find ("thon" ))
66+
67+ #busqueda de ocurrencia o conteo
68+
69+ print (my_add_string .count ("o" ))
70+
71+ #formateo
72+
73+ print ("Saludo: {}, lenguaje: {}" .format (my_string , my_other_string ))
74+
75+ #interpolación: f string (interpretará que todo lo que esta entre{} hace referencia a una variable)
76+
77+ print (f"saludo: { my_string } lenguaje: { my_other_string } " )
78+
79+ #tranformacion en lista de caracteres:
80+ print (list (my_add_string ))
81+
82+ #transformación metodo join
83+ print (" " .join (my_add_string ))
84+
85+
86+
87+ ###Extra###
88+
89+ #quitar espacios y pasar a minusculas: ok
90+ def limpiar_palabra (word :str )-> str :
91+ return word .replace (" " , "" ).lower ()
92+
93+ #función palindromo:
94+ def check_palindromo (word :str )-> bool :
95+ clean_word = limpiar_palabra (word )
96+ invert_word = clean_word [::- 1 ] # invierte la palabra utilizando slicing:
97+ return clean_word == invert_word #comprobación
98+
99+ #función anagrama: con retorno
100+ def check_anagrama (word_1 :str , word_2 :str )-> bool :
101+ clean_word_1 = limpiar_palabra (word_1 )
102+ clean_word_2 = limpiar_palabra (word_2 )
103+
104+ #comprobación:
105+ return sorted (clean_word_1 ) == sorted (clean_word_2 )
106+
107+
108+ #funcion isograma:con conteo
109+ def check_isograma (word ):
110+ for i in word :
111+ conteo = word .count (i )
112+ if conteo != 1 :
113+ return False
114+ return True
115+
116+
117+
118+ ### main:###
119+ word_1 = input ("ingrese una palabra\n " )
120+ word_2 = input ("ingrese otra palabra\n " )
121+
122+ #comprobación palindromo:
123+ res_pal = check_palindromo (word_1 )
124+ print (f"la palabra { word_1 } { 'es ' if res_pal else 'no es ' } palindromo " )
125+ res_pal = check_palindromo (word_2 )
126+ print (f"la palabra { word_2 } { 'es ' if res_pal else 'no es ' } palindromo " )
127+
128+ #comprobación anagrama:
129+ res_ana = check_anagrama (word_1 , word_2 )
130+ print (f"la palabra { word_1 } y { word_2 } { 'son' if res_ana else 'no son ' } anagramas." )
131+
132+ #comprobación isograma:
133+ res_isograma = check_isograma (word_1 )
134+ print (f"la palabra { word_1 } { 'es ' if res_isograma else 'no es ' } isograma " )
135+ res_isograma = check_isograma (word_2 )
136+ print (f"la palabra { word_2 } { 'es ' if res_isograma else 'no es ' } isograma " )
137+
138+
139+
140+ """
141+ #Notas de lo aprendido:
142+ 1) se debe llamar a la función por cada palabra a ser analizada
143+ 2) para retotno booleano no es necesario utilizar comprobación if/else
144+ 3) operadores ternario if/else se pueden utilizar en un f-string para decidir qué texto incluir basado en una condición.
145+ 4) iograma: otra forma es convertir los elementos de la "palabra" ingresada en un set y comparar la longitud (cantidad de elementos)
146+ entre "palabra" original y set(palabra). len(palabra)==len(set(palabra))
147+ 5) un set guarda sólo los elementos únicos (sin repeticiones) eje: set(palabra)-> len(p,l,a,b,r) -> 5 elementos
148+ mientras que len(palabra) -> 7 elemntos
149+ """
0 commit comments