Skip to content

Commit e81b4fb

Browse files
committed
mouredev#4 - PYTHON
1 parent a2e7646 commit e81b4fb

File tree

2 files changed

+204
-6
lines changed

2 files changed

+204
-6
lines changed

Roadmap/03 - ESTRUCTURAS DE DATOS/python/annnerssv.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,12 @@ def eliminarContacto():
119119
while not salir:
120120

121121
print('''---Bienvenido a la agenda de contactos,¿Qué actividad deseas realizas?---
122-
1. Añadir un contacto
123-
2. Buscar un contacto
124-
3. Actualizar un contacto
125-
4. Eliminar un contacto
126-
5. Listar contactos
127-
6. Salir
122+
1. Añadir un contacto
123+
2. Buscar un contacto
124+
3. Actualizar un contacto
125+
4. Eliminar un contacto
126+
5. Listar contactos
127+
6. Salir
128128
''')
129129

130130
opcion = int(input("Elige una opcion: "))
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
#CADENAS
2+
3+
mi_cadena = "Hola soy una cadena de caracteres"
4+
mi_cadena_vacia = ''
5+
6+
print(type(mi_cadena))
7+
print(len(mi_cadena)) #Longitud de caracteres de una cadena
8+
print(mi_cadena_vacia)
9+
10+
#SECUENCIAS DE ESCAPE
11+
12+
sec_esc = "Esta es una cadena con comillas simples dentro \"HOLA\" "
13+
print(sec_esc)
14+
15+
#SALTO DE LINEA
16+
17+
salt_linea = "Esta es una cadena\n con saltos de linea"
18+
print(salt_linea)
19+
20+
#FORMATEO DE CADENAS E INTERPOLACIÓN
21+
22+
numero_a_cadena = 12345
23+
print("El numero es " + str(numero_a_cadena))
24+
25+
#ESTILO PRINTF
26+
27+
n1 = 5
28+
resultado_formateo = "El numero formateado es %d" % n1
29+
print(resultado_formateo)
30+
31+
resultado_formateo = "Los numeros formateados son {} y {}".format(4, 3)
32+
print(resultado_formateo)
33+
34+
#INTERPOLACION O F-STRINGS
35+
36+
n1 = 20
37+
n2 = 30
38+
suma = n1 + n2
39+
suma_formateada = str(n1) + str(n2) #FORMATEO A CADENAS
40+
41+
print(f'La suma de {n1} + {n2} = {suma}')
42+
print(f'La suma formateada de {n1} + {n2} = {suma_formateada}'
43+
) #NO SE REALIZA LA SUMA, SE CONCATENAN LOS VALORES FORMATEADOS
44+
45+
#SUMA DE CADENAS
46+
47+
cadena_1 = "Hola soy la primera parte..."
48+
cadena_2 = "y yo soy la segunda parte!"
49+
50+
print(cadena_1 + " " + cadena_2)
51+
52+
#REPETIR UNA CADENA n VECES
53+
54+
cadena_repetida = "Hola soy una cadena repetida \n"
55+
print(cadena_repetida * 5)
56+
57+
#SABER SI UNA CADENA ESTA CONTENIDA EN OTRA
58+
59+
cadena = "Python es clave"
60+
61+
print("thon" in cadena) #True
62+
63+
#ACCEDER A LOS VALORES DE UNA CADENA COMO EN UNA LISTA
64+
65+
mi_cadena = "Hola"
66+
print(mi_cadena[0]) #ACCEDER AL PRIMER CARACTER
67+
68+
#CORTAR CADENAS O SLICING
69+
70+
print(mi_cadena[0:2]) #EMPIEZA DESDE EL INDICE 0 AL 2
71+
print(mi_cadena[2:]) #EMPIEZA DEL INDICE 2 HASTA EL FINAL
72+
print(mi_cadena[0::2]) #CORTA LA CADENA DE 2 en 2
73+
print(mi_cadena[::-1]) #INVIERTE LA CADENA
74+
75+
#METODOS DE CADENA
76+
77+
cadena = "hola soy una cadena que sera modificada"
78+
print(
79+
cadena.capitalize()) #PONE LA PRIMERA LETRA DE TODA LA CADENA EN MAYUSCULA
80+
print(cadena.upper()) #CONVIERTE A MAYUSCULA TODA LA CADENA
81+
print(cadena.lower()) #CONVIERTE A MINUSCULA TODA LA CADENA
82+
print(cadena.swapcase()) #VARIACION ENTRE MAYUSCULAS Y MINUSCULAS
83+
print(cadena.title()) #CONVIERTE LA PRIMERA LETRA DE CADA PALABRA EN MAYUSCULA
84+
print(
85+
cadena.count("ca")
86+
) #EVALUA CUANTAS VECES SE REPITE SE REPITE UN FRAGMENTO DE CADENA EN OTRA
87+
print(cadena.replace("hola", "Hey"))
88+
89+
mi_cadena = "[email protected]"
90+
print(mi_cadena.isalnum()) #EVALUA SI LA CADENA ESTA FORMADA POR CARACTERES ALFANUMERICOS
91+
mi_cadena = "soy una cadena normal"
92+
print(mi_cadena.isalpha()) #EVALUA SI LA CADENA ESTA FORMADA POR CARACTERES ALFABETICOS
93+
94+
cadena = " Hola soy una cadena que tenia espacios al inicio y al final "
95+
print(cadena.strip()) #ELIMINA ESPACIOS AL INICIO Y FINAL DE LA CADENA
96+
97+
numero = 345
98+
print(str(numero).zfill(
99+
7)) #RELLENA CON 0 HASTA LLEGAR AL NUMERO PASADO COMO PARAMETRO
100+
101+
cadena = " y ".join(["1", "2", "3", "4", "5"]) #UNIR UNA CADENA A UNA LISTA
102+
print(cadena)
103+
104+
cadena_a_lista = "Python, Java, C++, Typescritp"
105+
print(
106+
cadena_a_lista.split(",")
107+
) #DIVIDE Y CONVIERTE LA CADENA EN UN ARRAY DEPENDIENDO EL PARAMETRO PASADO
108+
109+
#RECORRER UNA CADENA
110+
for cadena in mi_cadena:
111+
print(cadena)
112+
113+
#EJERCICIO ---------------------------------------------------------------------
114+
115+
salir = False
116+
117+
#FUNCIONES PARA EVALUAR LAS PALABRAS
118+
119+
120+
def esPalindromo():
121+
palabra = input('Ingresa la palabra a evaluar: ')
122+
123+
palabra_invertida = palabra[::-1]
124+
125+
if palabra.lower() == palabra_invertida.lower():
126+
print(f'La palabra {palabra} es palindroma')
127+
else:
128+
print(f'La palabra {palabra} no es palindroma')
129+
130+
131+
def esAnagrama():
132+
palabra_1 = input("Ingrese palabra 1: ")
133+
palabra_2 = input("Ingrese palabra 2: ")
134+
135+
if sorted(palabra_1) == sorted(palabra_2):
136+
print("Las palabras ingresadas son anagramas")
137+
else:
138+
print("Las palabras ingresadas no son anagramas")
139+
140+
141+
def esIsograma(palabra):
142+
letras = set()
143+
palabra = palabra.lower()
144+
145+
for letra in palabra:
146+
if letra.isalpha():
147+
if letra in letras:
148+
return False
149+
letras.add(letra)
150+
return True
151+
152+
153+
def evaluarIsograma():
154+
155+
palabra_1 = input("Ingrese palabra 1: ").strip()
156+
palabra_2 = input("Ingrese palabra 2: ").strip()
157+
158+
isograma_1 = esIsograma(palabra_1)
159+
isograma_2 = esIsograma(palabra_2)
160+
161+
if isograma_1 and isograma_2:
162+
print(f"Ambas palabras '{palabra_1}' y '{palabra_2}' son isogramas.")
163+
elif isograma_1 and not isograma_2:
164+
print(
165+
f"La palabra '{palabra_1}' es un isograma, pero '{palabra_2}' no lo es."
166+
)
167+
elif not isograma_1 and isograma_2:
168+
print(
169+
f"La palabra '{palabra_2}' es un isograma, pero '{palabra_1}' no lo es."
170+
)
171+
else:
172+
print(
173+
f"Ninguna de las dos palabras ('{palabra_1}' y '{palabra_2}') es un isograma."
174+
)
175+
176+
177+
while not salir:
178+
179+
#MENU INTERACTIVO
180+
181+
print('''---BIENVENIDO AL EVALUADOR DE PALABRAS---\n
182+
1. Evaluar palindromos
183+
2. Evaluar Anagramas
184+
3. Evaluar Isogramas
185+
4. Salir''')
186+
187+
opcion = input('Ingresa una opción: ').strip()
188+
189+
match opcion:
190+
case '1':
191+
esPalindromo()
192+
case '2':
193+
esAnagrama()
194+
case '3':
195+
evaluarIsograma()
196+
case '4':
197+
print('Saliendo del programa...')
198+
salir = True

0 commit comments

Comments
 (0)