Skip to content

Commit d477106

Browse files
committed
2 parents ac080c2 + f255e54 commit d477106

File tree

31 files changed

+5017
-472
lines changed

31 files changed

+5017
-472
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
|08|[CLASES](./Roadmap/08%20-%20CLASES/ejercicio.md)|[📝](./Roadmap/08%20-%20CLASES/python/mouredev.py)|[▶️](https://youtu.be/W4tv8WUbum4)|[👥](./Roadmap/08%20-%20CLASES/)
4646
|09|[HERENCIA Y POLIMORFISMO](./Roadmap/09%20-%20HERENCIA/ejercicio.md)|[📝](./Roadmap/09%20-%20HERENCIA/python/mouredev.py)|[▶️](https://youtu.be/PVBs5PWjedA)|[👥](./Roadmap/09%20-%20HERENCIA/)
4747
|10|[EXCEPCIONES](./Roadmap/10%20-%20EXCEPCIONES/ejercicio.md)|[📝](./Roadmap/10%20-%20EXCEPCIONES/python/mouredev.py)|[▶️](https://youtu.be/mfOzfj-BrQo)|[👥](./Roadmap/10%20-%20EXCEPCIONES/)
48-
|11|[MANEJO DE FICHEROS](./Roadmap/11%20-%20MANEJO%20DE%20FICHEROS/ejercicio.md)|[📝](./Roadmap/11%20-%20MANEJO%20DE%20FICHEROS/python/mouredev.py)||[👥](./Roadmap/11%20-%20MANEJO%20DE%20FICHEROS/)
48+
|11|[MANEJO DE FICHEROS](./Roadmap/11%20-%20MANEJO%20DE%20FICHEROS/ejercicio.md)|[📝](./Roadmap/11%20-%20MANEJO%20DE%20FICHEROS/python/mouredev.py)|[▶️](https://youtu.be/Bsiay2nax4Y)|[👥](./Roadmap/11%20-%20MANEJO%20DE%20FICHEROS/)
4949
|12|[JSON Y XML](./Roadmap/12%20-%20JSON%20Y%20XML/ejercicio.md)|[🗓️ 25/03/24](https://discord.gg/NtSqCkZK?event=1216862528257130496)||[👥](./Roadmap/12%20-%20JSON%20Y%20XML/)
5050

5151
## Instrucciones
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# https://www.python.org/
2+
''' https://www.python.org/ '''
3+
### https://www.python.org/ ###
4+
5+
a = "Giovanni"
6+
7+
# cadena de caracteres (str)
8+
nombre = " Giovanni "
9+
10+
# Entero (int)
11+
edad = 39
12+
13+
# Flotante (float)
14+
altura = 1.78
15+
16+
# Booleano (True)
17+
estudia = True
18+
19+
# Nulo (none)
20+
nulo = None
21+
22+
print (" Hola, Python! ")
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#Solo la aprte de dificultad extra
2+
stream_1 = "Multiplo de 3"
3+
stream_2 = "Multiplo de 5"
4+
def numeros(stream_1,stream_2):
5+
cantidad = 0
6+
for x in range(1,101):
7+
if x % 3 == 0 :
8+
if (x % 5 == 0):
9+
print(stream_1 +" y "+ stream_2)
10+
else:
11+
print(stream_1)
12+
elif (x % 5 == 0):
13+
print(stream_2)
14+
15+
else:
16+
cantidad +=1
17+
print(x)
18+
return cantidad
19+
print(f"Total de numeros inpresos: ", numeros(stream_1,stream_2))
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
"""
2+
Funciiones definidas por el usuario
3+
"""
4+
5+
# Simple
6+
7+
def simple():
8+
print("Hola mundo")
9+
10+
11+
# Con retorno
12+
13+
def retorno():
14+
return "Hola,Python"
15+
16+
17+
# Con parametro
18+
19+
def parametro(futbol):
20+
print(f"Hola,{futbol}")
21+
22+
parametro("Cristiano")
23+
24+
25+
# Con parametros
26+
def parametros(champions,messi):
27+
print(f"{champions} tiene {messi}")
28+
29+
parametros(0,"messi")
30+
parametros(champions="messi",messi=0)
31+
32+
33+
# Con parametros predeterminados
34+
35+
def predeterminados(adverbio="no"):
36+
print(f"{adverbio}, usar python")
37+
38+
39+
# Con argumentos y return
40+
41+
def argumento(casa,cosa):
42+
return f"{casa},{cosa}"
43+
print(argumento("Hola" , "Yenner"))
44+
45+
46+
# Con un número varible de argumentos
47+
48+
def variable(*names):
49+
for name in names:
50+
print(f"hola, {name}")
51+
52+
variable("Gonzalo", "David", "Antonio")
53+
54+
55+
# Con un número variable de argumentos con palabra clave
56+
57+
def palabrasclave(**names):
58+
for key, value in names.items():
59+
print(f"{value} ({key})!")
60+
61+
62+
palabrasclave(
63+
language="Español",
64+
name="Millos",
65+
alias="El más grande",
66+
age=20
67+
)
68+
69+
70+
"""
71+
Funciones dentro de Funciones
72+
73+
"""
74+
75+
def funcionExterna():
76+
def funcionInterna():
77+
print("Hola a todos soy una función interna")
78+
funcionInterna
79+
funcionExterna()
80+
81+
82+
"""
83+
84+
Variables locales y globales
85+
86+
"""
87+
88+
global_var = "Xolo"
89+
90+
def outside():
91+
local_var = "Milloz"
92+
print(f"{global_var},{local_var}")
93+
94+
# No se puede acceder a local var desde fuera de la función
95+
96+
def fizzbuzz(text1,text2) -> int:
97+
98+
count = 0
99+
100+
for i in range(1,101):
101+
if i % 3 == 0 and i % 5 == 0:
102+
print(text1 + text2)
103+
elif i % 3 == 0:
104+
print(text1)
105+
elif i % 5 == 0:
106+
print(text2)
107+
else:
108+
print(i)
109+
count += 1
110+
return count
111+
112+
print(fizzbuzz("fizz","Buzz"))
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
"""
2+
/*
3+
* EJERCICIO:
4+
* - Muestra ejemplos de creación de todas las estructuras soportadas por defecto en tu lenguaje.
5+
* - Utiliza operaciones de inserción, borrado, actualización y ordenación.
6+
*
7+
* DIFICULTAD EXTRA (opcional):
8+
* Crea una agenda de contactos por terminal.
9+
* - Debes implementar funcionalidades de búsqueda, inserción, actualización y eliminación de contactos.
10+
* - Cada contacto debe tener un nombre y un número de teléfono.
11+
* - El programa solicita en primer lugar cuál es la operación que se quiere realizar, y a continuación
12+
* los datos necesarios para llevarla a cabo.
13+
* - El programa no puede dejar introducir números de teléfono no númericos y con más de 11 dígitos.
14+
* (o el número de dígitos que quieras)
15+
* - También se debe proponer una operación de finalización del programa.
16+
*/
17+
18+
"""
19+
20+
#ESTRUCTURAS
21+
22+
#Listas
23+
lista = [1, 10, 100, 1000]
24+
print(lista)
25+
26+
#Inserción
27+
lista.append(88)
28+
print(lista)
29+
30+
#Actualizacion
31+
lista[0] = 23
32+
33+
#Borrado
34+
lista.remove(10)
35+
36+
#Ordenación
37+
lista.sort()
38+
39+
#Tupla - Estructura inmutable
40+
tupla = (3, 90, 200, 301, 55)
41+
print(tupla)
42+
43+
#Acceso
44+
print(tupla[3])
45+
46+
#Ordenacion de Tupla
47+
tupla = tuple(sorted(tupla))
48+
print(tupla)
49+
print(type(tupla))
50+
51+
#Set - No ordenada - No admite duplicados - No se puede acceder a una posicion
52+
mi_set = {1 , 5, 9, 22, 4}
53+
print(mi_set)
54+
55+
#Insercion
56+
mi_set.add("KDB")
57+
print(mi_set)
58+
59+
#Actualizacion - Añadir mas datos
60+
#mi_set.update()
61+
62+
#Borrado
63+
mi_set.remove(5)
64+
print(mi_set)
65+
66+
#Ordenacion - los set no tiene orden
67+
68+
#Diccionario
69+
dic = {"name" : "Diego",
70+
"age" : 35,
71+
"job" : "Trucker",
72+
"height (m)" : 1.70,
73+
"active" : True}
74+
75+
print(dic)
76+
77+
#Insercion
78+
dic["brand"] = "JRR10"
79+
print(dic)
80+
81+
#Eliminacion
82+
del dic["job"]
83+
print(dic)
84+
85+
#Actualizacion
86+
dic["height (m)"] = 1.75
87+
print(dic)
88+
89+
#Ordenacion
90+
dic = dict(sorted(dic.items()))
91+
print(dic)
92+
print(type(dic))
93+
94+
95+
#Extra
96+
97+
agenda = {"james" : 12345678901,
98+
"karim" : 98765432122,
99+
"moran": 12345987600}
100+
101+
def acciones_agenda():
102+
#pedir al usuario que accion desea relaizar
103+
print("1 Insertar \n 2 Eliminar \n 3 Actualizar \n 4 Buscar \n 5 Salir")
104+
accion = int(input("Ingrese la accion que desea realizar: "))
105+
#Insertar
106+
if accion == 1:
107+
nombre = input("Ingrese el nombre del contacto que desea insertar: ")
108+
numero = input("Ingrese el nuevo numero de 11 digitos: ")
109+
if len(numero) == 11 and numero.isdigit() == True: #Control tamaño del numero
110+
agenda[nombre] = numero
111+
print(agenda)
112+
acciones_agenda()
113+
else: #Insertar numero valido
114+
print("El numero no es valido - debe tener 11 digitos unicamente numeros")
115+
print(type(numero))
116+
acciones_agenda()
117+
#Eliminar
118+
elif accion == 2:
119+
nombre = input("Ingrese el nombre del contacto que desea eliminar: ")
120+
try: #Trata de eliminar el contacto
121+
del agenda[nombre]
122+
print(agenda)
123+
acciones_agenda()
124+
except: #Si no existe el contacto
125+
print(f"La accion no se pudo completar, revise los datos ingresados \n No exite el contacto: {nombre}")
126+
acciones_agenda()
127+
#Actualizar
128+
elif accion == 3:
129+
nombre = input("Ingrese el nombre del contacto que desea actualizar: ")
130+
if nombre in agenda: #Comprobar si exite el contacto a actualizar
131+
numero = input("Ingrese el nuevo numero de 11 digitos: ")
132+
if len(numero) == 11 and numero.isdigit() == True: #Control tamaño del numero
133+
agenda[nombre] = numero
134+
print(agenda)
135+
acciones_agenda()
136+
else: #Errores de tamaño del numero o str
137+
print("El numero no es valido - debe tener 11 digitos unicamente numeros")
138+
acciones_agenda()
139+
else: #Si no existe el contacto
140+
print(f"La accion no se pudo completar, revise los datos ingresados \n No exite el contacto: {nombre}")
141+
acciones_agenda()
142+
#Buscar
143+
elif accion == 4:
144+
nombre = input("Ingrese el nombre del contacto que desea consultar: ")
145+
try: #Traer el numero del contacto
146+
print(agenda[nombre])
147+
acciones_agenda()
148+
except: #Si no existe el contacto
149+
print(f"La accion no se pudo completar, revise los datos ingresados. \n No exite el contacto: {nombre}")
150+
acciones_agenda()
151+
#Salir
152+
elif accion == 5:
153+
print("Gracias por usar la agenda")
154+
#Error de accion
155+
else:
156+
print("La opcion ingresada no es valida")
157+
acciones_agenda()
158+
159+
acciones_agenda()

0 commit comments

Comments
 (0)