Skip to content

Commit 42d9c5d

Browse files
authored
Merge pull request mouredev#7603 from Lioomx/new_develop
#3 - Python
2 parents b3eb757 + 1bf0db3 commit 42d9c5d

File tree

2 files changed

+251
-0
lines changed
  • Roadmap

2 files changed

+251
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
2+
''' Las estructuras de datos son una forma de organizar y
3+
almacenar datos de manera que podamos acceder y modificarlos
4+
de manera eficiente.
5+
Algunos ejemplos comunes de estructuras de datos son
6+
listas, pilas, colas, conjuntos y diccionarios.
7+
'''
8+
9+
''' Listas (list) '''
10+
'''
11+
Colecciones ordenadas y mutables (Pueden cambiar sus elementos)
12+
'''
13+
14+
list = [1, 2, 3, 4, 5] # Pueden ser de tipo númerico, mixto ó vacía
15+
print(list[0]) # Accede al primer elemento
16+
17+
# Modificar una lista
18+
list.append(6) # Agrega un elemento al final
19+
list[1] = 20 # Cambia el elemento 1 por el número 20
20+
list.insert(3, 6) # Agrega un elemento en un indice específico
21+
print(list)
22+
23+
# Elimina elementos
24+
list.remove(5) # Elimina el primer elemento que coincida
25+
list.pop (1) # Elimina un elemento por índice (o el último si no se especifica)
26+
del list[0] # Elimina un elemento o un rango de la lista
27+
print(list)
28+
29+
# Cortar listas (Slicing)
30+
list_1 = [10, 20, 30, 40, 50]
31+
print(list_1[1:4]) # [20, 30, 40]
32+
print(list_1[:3]) # [10, 20, 30]
33+
print(list_1[2:1]) # [30, 40, 50]
34+
print(list_1[::-1]) # [50, 40, 30, 20, 20] # lista invertida
35+
36+
# Operaciones comunes
37+
print(len(list_1)) # Número de elementos
38+
39+
list_2 = [1, 2]
40+
list_3 = [3, 4]
41+
print(list_2 + list_3) # Concatencación
42+
43+
print([0] * 5) # Repetición
44+
45+
numbers = [10, 20, 30]
46+
print(20 in numbers) # Busqueda
47+
print(numbers.index(20))
48+
49+
# Métodos utiles de listas
50+
numeros = [4, 2, 3, 1]
51+
numeros.sort() # Ordenar en orden ascendente
52+
print(numeros) # [1, 2, 3, 4]
53+
numeros.reverse() # Invertir el orden la lista
54+
print(numeros) # [4, 3, 2, 1]
55+
print(numeros.count(2)) # 1 # Contar las apariciones de un elemento
56+
copia = numeros.copy() # Crear una copia de la lista
57+
print(copia) # [4, 3, 2, 1]
58+
59+
''' Tuplas (tuple)'''
60+
'''
61+
Son colecciones ordenadas pero inmutables
62+
(no pueden cambiar sus elementos después de crearlas)
63+
'''
64+
65+
my_tupla = (1, 2, 3, 4, 5)
66+
print(my_tupla[1])
67+
68+
# Crear una tupla
69+
mi_tupla = (1, 2, 3, 4, 5)
70+
otra_tupla = "a", "b", "c" # También válido
71+
tupla_vacia = ()
72+
una_tupla = (42,) # Tupla de un solo elemento, con una coma al final
73+
74+
# Acceder a los elementos
75+
mi_tupla = (10, 20, 30, 40, 50)
76+
print(mi_tupla[0]) # 10
77+
print(mi_tupla[-1]) # 50
78+
79+
80+
# Inmutabilidad.
81+
# No puedes modificar una tupla después de crearla. Esto significa que los siguientes intentos darán error
82+
mi_tupla = (1, 2, 3)
83+
# mi_tupla[1] = 10 # Esto da error
84+
# mi_tupla.append(4) # Esto también da error
85+
# Sin embargo, si la tupla contiene elementos mutables como listas, puedes modificar esos elementos internos.
86+
tupla_con_lista = (1, [2, 3], 4)
87+
tupla_con_lista[1][0] = 99
88+
print(tupla_con_lista) # (1, [99, 3], 4)
89+
90+
# Unión de tuplas
91+
t1 = (1, 2, 3)
92+
t2 = (4, 5, 6)
93+
print(t1 + t2) # (1, 2, 3, 4, 5, 6)
94+
95+
# Repetición de tuplas
96+
t = (1, 2)
97+
print(t * 3) # (1, 2, 1, 2, 1, 2)
98+
99+
# Verificar si un elemento está en una tupla
100+
t = (10, 20, 30)
101+
print(20 in t) # True
102+
print(50 in t) # False
103+
104+
# Metodos utiles
105+
t = (1, 2, 3, 2, 4, 2)
106+
print(t.count(2)) # 3 (el 2 aparece tres veces)
107+
print(t.index(3)) # 2 (el índice del primer 3)
108+
109+
# Desempaquetado de tuplas
110+
# Puedes "desempaquetar" los elementos de una tupla directamente en variables.
111+
112+
t = (1, 2, 3)
113+
a, b, c = t
114+
print(a, b, c) # 1 2 3
115+
116+
# También puedes usar el operador * para desempacar el resto de los elementos:
117+
t = (1, 2, 3, 4, 5)
118+
a, *b, c = t
119+
print(a) # 1
120+
print(b) # [2, 3, 4]
121+
print(c) # 5
122+
123+
''' Conjuntos (set)'''
124+
125+
mi_conjunto = {1, 2, 3, 3, 4}
126+
print(mi_conjunto) # {1, 2, 3, 4}
127+
mi_conjunto.add(5) # Agregar un elemento
128+
mi_conjunto.remove(2) # Eliminar un elemento
129+
130+
''' Diccionarios (dict)'''
131+
132+
mi_diccionario = {"nombre": "Juan", "edad": 25, "ciudad": "Madrid"}
133+
print(mi_diccionario["nombre"]) # Acceder al valor asociado a una clave
134+
mi_diccionario["edad"] = 26 # Modificar un valor
135+
mi_diccionario["pais"] = "España" # Agregar un nuevo par clave-valor
136+
137+
138+
139+
140+
141+
142+
143+
144+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
'''
2+
Operaciones con cadenas de caracteres
3+
'''
4+
5+
# Concatenación de cadenas
6+
7+
c1 = "Hola"
8+
c2 = "Mundo"
9+
resultado = c1 + " " + c2
10+
print(resultado)
11+
12+
# Repetición de cadenas
13+
14+
cadena = "Python"
15+
print(cadena * 3)
16+
17+
# Longitud de una cadena
18+
19+
cadena = "Curso de Python"
20+
print(len(cadena))
21+
22+
# Acceso a caracteres
23+
24+
cadena = "Python"
25+
print(cadena[0])
26+
print(cadena[-1])
27+
28+
# Rebanado (slicing)
29+
30+
cadena = "Curso de Python"
31+
print(cadena[0:8]) # Salida: Curso de
32+
print(cadena[:8]) # Salida: Curso de (inicio implicito)
33+
print(cadena[9:]) # Salida: Python (final implicito)
34+
print(cadena[::-1]) # Salida: nohtyP ed osruC (Cadena invertida)
35+
36+
# Mayúsculas y minúsculas
37+
38+
cadena = "Python"
39+
print(cadena.upper()) # PYTHON
40+
print(cadena.lower()) # python
41+
42+
# Eliminar espacios
43+
44+
cadena = " Hola Mundo "
45+
print(cadena.strip()) # Salida: Hola Mundo
46+
print(cadena.lstrip()) # Salida: "Hola Mundo "
47+
print(cadena.rstrip()) # Salida: " Hola Mundo"
48+
49+
# Buscar y reemplazar
50+
51+
cadena = "Aprender Python es divertido"
52+
print(cadena.find("Python")) # Salida: 9 (posición)
53+
print(cadena.replace("divertido", "facil")) # Salida: Aprender Python es facil
54+
55+
# Dividir y unir cadenas
56+
57+
cadena = "uno, dos, tres"
58+
lista = cadena.split(", ")
59+
print(lista) # Salida: ['uno', 'dos', 'tres']
60+
61+
nueva_cadena = " - ".join(lista)
62+
print(nueva_cadena) # Salida: uno - dos - tres
63+
64+
# Verificar contenido
65+
66+
cadena = "Python3"
67+
print(cadena.startswith("Py")) # Salida: True
68+
print(cadena.endswith("3")) # Salida: True
69+
print(cadena.isalpha()) # Salida: False (tiene números)
70+
print("12345".isdigit()) # Salida: True
71+
72+
73+
""" EXTRA """
74+
75+
def palindromo(palabra):
76+
palabra = palabra.lower().replace(" ", "") # Ignora mayúsculas y espacios
77+
return palabra == palabra[::-1]
78+
79+
def anagrama(palabra1, palabra2):
80+
palabra1 = palabra1.lower().replace(" ", "")
81+
palabra2 = palabra2.lower().replace(" ", "")
82+
return sorted(palabra1) == sorted(palabra2)
83+
84+
def isograma(palabra):
85+
palabra = palabra.lower().replace(" ", "")
86+
return len(palabra) == len(set(palabra))
87+
88+
print("Analizador de palabras")
89+
palabra1 = input("Ingresa la primera palabra: ")
90+
palabra2 = input("Ingresa la segunda palabra: ")
91+
92+
if palindromo(palabra1):
93+
print(f"- '{palabra1}' es un palindromo.")
94+
else:
95+
print(f"- '{palabra1}' no es un palindromo.")
96+
97+
if anagrama(palabra1, palabra2):
98+
print(f"- '{palabra1}' y '{palabra2}' son anagramas.")
99+
else:
100+
print(f"- '{palabra1}' y {palabra2}' no son anagramas.")
101+
102+
if isograma(palabra1):
103+
print(f"- '{palabra1}' es un isograma.")
104+
else:
105+
print(f"- '{palabra2}' no es un isograma.")
106+
107+

0 commit comments

Comments
 (0)