Skip to content

Commit d4e08ce

Browse files
committed
#4 - Python
2 parents ff76062 + f2a7d53 commit d4e08ce

File tree

1 file changed

+125
-0
lines changed
  • Roadmap/04 - CADENAS DE CARACTERES/python

1 file changed

+125
-0
lines changed
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
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

Comments
 (0)