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,
6+ * recorrido, conversión a mayúsculas y minúsculas, reemplazo, división, unión,
7+ * interpolación, verificación...
8+ """
9+
10+ # Operaciones
11+
12+ x1 = "Perro"
13+ x2 = "Conejo"
14+ x3 = "tortuga nadando"
15+
16+ print (x1 + x2 ) # Concatenacion (pegar dos o mas cadenas de texto)
17+
18+ print (x1 * 3 ) # Repeticion
19+
20+ print (x1 [4 ] + x1 [3 ] + x1 [2 ] + x1 [1 ] + x1 [0 ]) # Indexacion (indicar un solo caracter de la cadena)
21+
22+ print (len (x2 )) # Longitud
23+
24+ print (x2 [2 :6 ]) # Slicing (porcionar la cadena de texto)
25+ print (x2 [2 :])
26+ print (x2 [:4 ])
27+
28+ print ("e" in x1 ) # Busqueda (comprobar si el/los caracteres se encuentran en una cadena de texto)
29+ print ("jo" in x2 )
30+
31+ print (x2 .replace ("o" ,"a" )) # Remplazo
32+
33+ print (x2 .split ("e" )) # Division de una cadena que da como resultado una lista
34+
35+ print (x3 .upper ()) # Convertir a Mayusculas
36+
37+ print (x1 .lower ()) # Convertir a minusculas
38+
39+ print (x3 .title ()) # Primera letra a mayuscula de cada palabra
40+
41+ print (x3 .capitalize ()) # Primera letra a mayuscula de toda la cadena de texto
42+
43+ print (" Dkp Dev " )
44+ print (" Dkp Dev " .strip ()) # Elimincacion de espacios al comienzo y al final de la cadena
45+
46+ print (x3 .startswith ("Tor" )) # Comprueba si la cadena inicia con los caracteres que se especifiquen
47+ print (x3 .startswith ("tor" ))
48+
49+ print (x3 .find ("ando" )) # Busqueda por posicion del caracter
50+
51+ print (x3 .count ("a" )) # Busqueda de ocurrencias (cuantas veces aparece el caracter)
52+
53+ print ("{}, {} y {}" .format (x1 ,x2 ,x3 )) # Formateo de una cadena eligiendo donde insertare mis cadenas de texto
54+
55+ print (f"{ x2 } , { x1 } y { x3 } " ) # Interpolacion
56+
57+ print (list (x1 )) # Transforma una cadena en lista
58+
59+ l1 = [x1 , x2 , "y" , x3 ]
60+ print (" " .join (l1 )) # Transforma una lista a cadena de texto
61+
62+ x4 = "357" # Transformar una cadena numerica en un 'int'
63+ x4 = int (x4 )
64+ print (x4 )
65+
66+ x5 = "35.7" # Transformar una cadena numerica en un 'float'
67+ x5 = float (x5 )
68+ print (x5 )
69+
70+ x1 = "Perro" # Comprobaciones
71+ x6 = "123123"
72+ print (x1 .isalpha ()) # Si la cadena es alfabetica (solo contiene letras)
73+ print (x6 .isalpha ())
74+
75+ print (x1 .isnumeric ()) # Si la cadena es numerica (solo contiene numeros)
76+ print (x6 .isnumeric ())
77+
78+ print (x1 .isalnum ()) # Si la cadena es alfanumerica (contiene letras y/o numeros)
79+ print (x6 .isalnum ())
80+
81+ """
82+ DIFICULTAD EXTRA (opcional):
83+ * Crea un programa que analice dos palabras diferentes y realice comprobaciones
84+ * para descubrir si son:
85+ * - Palíndromos (palabras que se leen igual aunque se posiciones en orden inverso como radar o salas)
86+ * - Anagramas (palabras que contiene las mismas letras pero en diferente orden)
87+ * - Isogramas (palabras que no tienen mas de una letra repetida)
88+
89+ """
90+
91+ def check (cadena1 : str ,cadena2 : str ):
92+
93+ # Palindromo
94+ print (f"Es { cadena1 } un palindromo?: { cadena1 == cadena1 [::- 1 ]} " ) # Mediante el slicing comprobamos si la cadena se lee igual en reversa
95+ print (f"Es { cadena2 } un palindromo?: { cadena2 == cadena2 [::- 1 ]} " )
96+
97+ # Anagramas
98+ print (f"Es { cadena1 } un anagrama de { cadena2 } ?: { sorted (cadena1 ) == sorted (cadena2 )} " ) # Se ordenan las cadenas y se comprueban los characteres
99+
100+ # Isograma
101+
102+ def isograma (cadena :str ) -> bool : # Funcion que recibe una cadena y arroja un booleano
103+
104+ cadena_dict = dict () # Primero un dict de la cadena
105+ for letras in cadena :
106+ cadena_dict [letras ] = cadena_dict .get (letras , 0 ) + 1
107+
108+ isograma = True
109+ valor = list (cadena_dict .values ()) # Lista de values
110+ isograma_len = valor [0 ]
111+ for cadena_count in valor : # Se cuentan los values
112+ if cadena_count != isograma_len : # Se comprueban ambas listas
113+ isograma = False
114+ break
115+
116+ return isograma
117+
118+ print (f"Es { cadena1 } un isograma? { isograma (cadena1 )} " )
119+ print (f"Es { cadena2 } un isograma? { isograma (cadena2 )} " )
120+
121+
122+
123+
124+ check ("radar" ,"quesoqueso" )
125+ check ("amor" ,"roma" )
0 commit comments