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