Skip to content

Commit dc33c13

Browse files
authored
Merge pull request mouredev#5197 from franvozzi/main
#3 - Python
2 parents 7e22ec6 + 1aaa1dc commit dc33c13

File tree

2 files changed

+184
-0
lines changed

2 files changed

+184
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# Lista (colección mutable y ordenada)
2+
miLista = [1, 2, 3, 4, 5]
3+
primerElementoLista = miLista[0] # Acceder al 1
4+
5+
miLista.append(6) # Agrega un sexto elemento
6+
miLista.insert(2, 15) # Agrega en una posición específica
7+
8+
miLista.remove(3) # Eliminar elementos por valor
9+
10+
eliminaElemento = miLista.pop(1) # Elimina por índice
11+
12+
logitudLista = len(miLista) # Longitud lista
13+
14+
for elemento in miLista:
15+
print(elemento) # Recorrer e imprimir lista
16+
17+
# Tuplas (colección ordenada e inmutable)
18+
miTupla = (1, 2, 3, 4, 5)
19+
20+
primerElementoTupla = miTupla[0] # Acceder a primer elemento
21+
22+
longitudTupla = len(miTupla) # Longitud tupla
23+
24+
for elemento in miTupla:
25+
print(elemento) # Recorre tupla
26+
27+
# Conjuntos
28+
miConjunto = {1, 2, 3, 4, 5}
29+
miConjunto.add(6) # Añadir elementos
30+
miConjunto.remove(3) # Remover elementos
31+
estaPresente = 4 in miConjunto # Devuelve True, sí está presente
32+
33+
otroConjunto = {4, 5, 6, 7}
34+
35+
union = miConjunto | otroConjunto
36+
37+
interseccion = miConjunto & otroConjunto
38+
39+
diferencia = miConjunto - otroConjunto
40+
41+
diferenciaSimetrica = miConjunto ^ otroConjunto
42+
43+
for elemento in miConjunto:
44+
print(elemento) #recorre conjunto
45+
46+
47+
miDiccionario = {"clave1": "valor1", "clave2": "valor2"}
48+
49+
valor = miDiccionario["clave1"] # Acceso a valor
50+
miDiccionario["clave1"] = "nuevoValor1"
51+
miDiccionario["clave3"] = "valor3"
52+
del miDiccionario["clave2"] # Elimina clave-valor
53+
54+
claves = miDiccionario.keys() # Obtener claves
55+
valor = miDiccionario.values() # Obtener valores
56+
57+
for clave, valor in miDiccionario.items():
58+
print(f"{clave}: {valor}")
59+
60+
# Desafío EXTRA
61+
def myAgenda ():
62+
agenda = {}
63+
64+
def insertContact():
65+
phone = input("Introduce el número del contacto: ")
66+
if phone.isdigit() and len(phone) > 0 and len(phone) <= 11:
67+
agenda[name] = phone
68+
else:
69+
print("Debes introducir un número de teléfono con menos de 12 dígitos")
70+
71+
while True:
72+
73+
print("")
74+
print("1. Buscar contacto")
75+
print("2. Insertar contacto")
76+
print("3. Actualizar contacto")
77+
print("4. Eliminar contacto")
78+
print("5. Salir")
79+
80+
option = input("\nSelecciona una opción: ")
81+
82+
match option:
83+
case "1":
84+
name = input("Introduce el nombre del contacto: ")
85+
if name in agenda:
86+
print(f"El número de teléfono de {name} es {agenda[name]}")
87+
else:
88+
print("Usuario inexistente.")
89+
case "2":
90+
name = input("Introduce el nombre del contacto: ")
91+
insertContact()
92+
case "3":
93+
name = input("Introduce el nombre del contacto a actualizar: ")
94+
if name in agenda:
95+
insertContact()
96+
else:
97+
print(f"El contacto {name} no existe")
98+
case "4":
99+
if name in agenda:
100+
del agenda[name]
101+
else:
102+
print("Usuario inexistente.")
103+
case "5":
104+
print("Saliendo de la agenda.")
105+
break
106+
case _:
107+
print("Opción no valida. Elige una opción del 1 al 5.")
108+
109+
110+
myAgenda ()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
mensaje = 'Hola Mundo' # Declaración de variables
2+
3+
# Concatenación de caracteres
4+
mensaje1 = 'Hola' + ' ' + 'Mundo'
5+
print(mensaje1)
6+
7+
# Multiplicación de caracteres
8+
mensaje2A = 'Hola ' * 3
9+
mensaje2B = 'Mundo'
10+
print(mensaje2A + mensaje2B)
11+
12+
# Añadir caracteres (desde aquí 'String Methods')
13+
mensaje3 = 'Hola'
14+
mensaje3 += ' '
15+
mensaje3 += 'Mundo'
16+
print(mensaje3)
17+
18+
# Extensión de caracteres
19+
mensaje4 = 'hola' + ' ' + 'mundo'
20+
print(len(mensaje4))
21+
22+
# Encontrar caracteres
23+
mensaje5 = "Hola Mundo"
24+
mensaje5A = mensaje5.find("Mundo")
25+
print(mensaje5A)
26+
27+
# Minúsculas
28+
mensaje6 = "HOLA MUNDO"
29+
mensaje6A = mensaje6.lower()
30+
print(mensaje6A)
31+
32+
# Reemplazo
33+
mensaje7 = "Hola mundo"
34+
mensaje7A = mensaje7.replace("L", "pizza")
35+
print(mensaje7A)
36+
37+
"""
38+
Extra
39+
"""
40+
def check(word1: str, word2: str):
41+
# Palíndromos
42+
print(f"¿{word1} es un palíndromo? {word1 == word1[::-1]}")
43+
print(f"¿{word2} es un palíndromo? {word2 == word2[::-1]}")
44+
45+
# Anagrama
46+
print(f"¿{word1} es un anagrama de {word2}? {sorted(word1) == sorted(word2)}")
47+
48+
# Isogramas
49+
50+
def isogram(word: str) -> bool:
51+
wordDict = dict()
52+
for word in word1:
53+
wordDict[word] = wordDict.get(word, 0) + 1
54+
55+
isogram = True
56+
values = list(wordDict.values())
57+
print(values)
58+
isogramLen = values[0]
59+
for wordCount in values:
60+
if wordCount != isogramLen:
61+
isogram = False
62+
break
63+
64+
return isogram
65+
66+
67+
print(f"¿{word1} es un isograma? {isogram(word1)}")
68+
print(f"¿{word2} es un isograma? {isogram(word2)}")
69+
70+
71+
print(isogram)
72+
73+
check("radar", "reconocer")
74+
check("amor", "roma")

0 commit comments

Comments
 (0)