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+
16+ nombre_cadena = 'Alfabeto'
17+ cadena = "abcd-efg-hijk"
18+
19+ # Acceso a caracteres específicos
20+
21+ print (cadena [1 ])
22+
23+ # Subcadenas
24+
25+ print (cadena [5 :8 ])
26+
27+ # Longitud
28+
29+ print (len (cadena ))
30+
31+ # Concatenación
32+
33+ print (nombre_cadena + ":" + cadena )
34+ print (nombre_cadena , ":" , cadena )
35+ print (f"{ nombre_cadena } : { cadena } " )
36+
37+ # Repetición
38+
39+ print (cadena * 4 )
40+
41+ # Recorrido
42+
43+ for c in cadena :
44+ print (c )
45+
46+ # Conversión a mayúsculas y minúsculas
47+
48+ print (cadena .upper ())
49+ print (nombre_cadena .lower ())
50+
51+ # Reemplazo
52+
53+ print (cadena .replace ('a' , 'z' ))
54+
55+ # División y Unión
56+
57+ cadena = cadena .split ('-' )
58+ print (cadena )
59+
60+ cadena = ' ' .join (cadena )
61+ print (cadena )
62+
63+ # Interpolación
64+
65+ print (f"Este es el { nombre_cadena .lower ()} , que comienza con: { cadena } " )
66+
67+ # Verificación
68+
69+ print (isinstance (cadena , str ))
70+ print (type (nombre_cadena ))
71+
72+ """
73+ ///////////////////////////////////////////////// DIFICULTAD EXTRA /////////////////////////////////////////////////
74+ """
75+
76+ palabra1 = "adan"
77+ palabra2 = "nada"
78+
79+ # Funciones que comprueban si son palíndromos, anagramas y/o isogramas
80+
81+ def palindromo (palabra1 , palabra2 ):
82+ list_palabra1 = [* palabra1 ] # Divide cada caracter en un elemento de un listado.
83+ list_palabra2 = [* palabra2 ]
84+
85+ list_palabra2 .reverse ()
86+
87+ if list_palabra1 == list_palabra2 :
88+ return "Palíndromos."
89+ else :
90+ return "No son palíndromos."
91+
92+ def anagrama (palabra1 , palabra2 ):
93+ list_palabra1 = [* palabra1 ] # Divide cada caracter en un elemento de un listado.
94+ list_palabra2 = [* palabra2 ]
95+
96+ list_palabra1 .sort ()
97+ list_palabra2 .sort ()
98+
99+ if list_palabra1 == list_palabra2 :
100+ return "Anagramas."
101+ else :
102+ return "No son anagramas."
103+
104+ def isograma (palabra ):
105+ count = 0 # Cuenta cuánto se repite una letra.
106+
107+ for a in range (len (palabra )):
108+ for k in palabra :
109+
110+ if palabra [a ] == k :
111+ count += 1
112+ if count == 2 : #En el momento que una letra se repite dos veces, deja de ser Isograma.
113+ return "No es Isograma."
114+
115+ count = 0
116+
117+ return "Es Isograma."
118+
119+ print (palindromo (palabra1 , palabra2 ))
120+ print (anagrama (palabra1 , palabra2 ))
121+ print (isograma (palabra2 ))
0 commit comments