File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed
Roadmap/04 - CADENAS DE CARACTERES/python Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change 7878print (x1 .isalnum ()) # Si la cadena es alfanumerica (contiene letras y/o numeros)
7979print (x6 .isalnum ())
8080
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" )
You can’t perform that action at this time.
0 commit comments