1+ # 1. Concatenación de caracteres
2+
3+ palabra_1 = "Gato"
4+ palabra_2 = "Perro"
5+
6+ union = palabra_1 + " " + palabra_2
7+
8+ print (union )
9+
10+ # 2. Repetición de caracteres
11+
12+ repeticion = palabra_1 * 4
13+
14+ print (repeticion )
15+
16+ # la función join agrega un espacio al inicio de cada palabra
17+
18+ resultado_2 = " " .join ([palabra_1 ] * 4 )
19+
20+ print (resultado_2 )
21+
22+ # 3. Acceso e indexación: acceder a un caracter específico con el índice.
23+
24+ print (palabra_1 [3 ])
25+ print (palabra_1 [0 ])
26+ print (palabra_1 [- 2 ]) #cuenta desde el último caracter
27+
28+ # 4. Slicing: extrae una porción de la cadena de caracteres
29+
30+ frase = "Hoy no tomé desayuno"
31+
32+ print (frase [0 :3 ]) #se excluye el ultimo indice
33+ print (frase [12 :]) #si no se indica el fin este llega al final de la cadena
34+
35+ # 5. Longitud: nos entrega la longitud de la cadena de caracteres
36+
37+ print (len (frase ))
38+
39+ # 6. Búsqueda de caracteres o subcadenas
40+
41+ print ("D" in frase )
42+ print ("d" in frase )
43+ print (frase .find ("desayuno" ))
44+ print (frase .index ("desayuno" ))
45+
46+ # 7. Reemplazo de subcadenas
47+
48+ nueva_frase = frase .replace ("no" , "si" )
49+
50+ print (nueva_frase )
51+
52+ # Cuando se repite una palabra la va a cambiar, para evitarlo se especifica cuantas veces se quiere cambiar
53+
54+ nueva_frase2 = frase .replace ("no" , "si" , 1 )
55+
56+ print (nueva_frase2 )
57+
58+ # 8. Conversión a mayúsculas y minúsculas
59+
60+ print (frase .upper ())
61+ print (frase .lower ())
62+
63+ # 9. Capitalización y formato de título
64+
65+ palabra = "hola gato"
66+
67+ print (palabra .capitalize ()) # Solo pone mayuscula la primera letra
68+ print (palabra .title ()) # Pone mayuscula en cada palabra
69+
70+ # 10. Eliminar espacios en blanco
71+
72+ cadena = " Hola Mundo Gatos "
73+
74+ print (cadena .strip ())
75+ print (cadena .lstrip ()) # Solo a la izquierda
76+ print (cadena .rstrip ()) # Solo a la derecha
77+
78+ # 11. Dividir y unir: se divide con split y se une con join
79+
80+ partes = cadena .split () # Divide por espacios
81+ print (palabra_1 .split ("t" ))
82+
83+ print (partes )
84+
85+ unir = " " .join (partes )
86+
87+ print (unir )
88+
89+ # 12. Verificación de tipo de caracteres
90+
91+ print (palabra_1 .isdigit ()) #Falso, son letras
92+ print (palabra_1 .isalpha ()) #True, son todas letras
93+
94+ palabraConNumeros = "abcd1234"
95+
96+ print (palabraConNumeros .isalnum ()) #True, son letras y numeros
97+
98+ # 14. Formato de cadenas
99+
100+ nombre = "Juan"
101+ edad = 45
102+
103+ print (f"Nombre: { nombre } , Edad: { edad } " )
104+ print ("Nombre: {}, Edad: {}" .format (nombre , edad ))
105+ print ("Nombre: %s, Edad: %d" % (nombre , edad ))
106+
107+ # 15. Transformación numérica
108+
109+ num = "012345"
110+ num = int (num )
111+ print (int (num ))
112+ print (type (num ))
113+
114+ # 16. Transformacion decimales
115+
116+ dec = "1234.123"
117+ dec = float (dec )
118+ print (float (dec ))
119+ print (type (dec ))
120+
121+
122+ #* DIFICULTAD EXTRA (opcional):
123+ # * Crea un programa que analice dos palabras diferentes y realice comprobaciones
124+ # * para descubrir si son:
125+ # * - Palíndromos
126+ # * - Anagramas
127+ # * - Isogramas
128+
129+ palabra1 = "arenera"
130+ palabra2 = "amor"
131+
132+ def palindromos (palabra1 ):
133+ return palabra1 == palabra1 [::- 1 ] # [inicio:fin:paso]
134+
135+ print (palindromos (palabra1 ))
136+
137+ # lo que hace [::-1] es dar vuelta la palabra
138+ # == va a devolver un booleano porque compara los valores
139+
140+ def anagramas (palabra1 , palabra2 ):
141+ return sorted (palabra1 ) == sorted (palabra2 )
142+
143+ print (anagramas (palabra1 , palabra2 ))
144+
145+ # Isograma: palabra donde ninguna letra se repite.
146+
147+ pal1 = "Murcielago"
148+
149+ # primero separamos la palabra por sus caracteres con set, donde no se muestran repetidos
150+ # se mide el largo de la palabra con len() y se compara con len() del set() de la palabra
151+ # si es distinto significa que alguna letra se repite, por lo que no es isograma
152+ # si son iguales, la palabra no tiene caracteres que se repiten, siendo isograma
153+
154+ if len (pal1 ) == len (set (pal1 )):
155+ print (f"{ pal1 } , si es isograma" )
156+
157+ else :
158+ print (f"{ pal1 } , no es isograma" )
0 commit comments