Skip to content

Commit

Permalink
Merge pull request mouredev#4690 from fborjalv/main
Browse files Browse the repository at this point in the history
#1 - Python
  • Loading branch information
Roswell468 committed Jul 2, 2024
2 parents 391d522 + 1fcbe05 commit 7b6f0c7
Show file tree
Hide file tree
Showing 3 changed files with 352 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# EJERCICIOS

# Tipos de operadores: Aritméticos, Lógicos, Relacionales, asignación, pertenencia, identidad
# Asignación:

operador_a = 4
operador_b = 2

# Aritméticos
print("--- OPERADORES ARITMÉTICOS---")
print(f"Suma: {operador_a + operador_b} ")
print(f"Resta: {operador_a - operador_b}")
print(f"División: {operador_a / operador_b}")
print(f"Multiplicación: {operador_a * operador_b}")
print(f"Resto: {operador_a % operador_b}")
print(f"Potencia: {operador_a ** operador_b}")

# Lógicos
print("--- OPERADORES LÓGICOS ---")
print("si primer elemento es 2 y si segundo elemento es 4")
print(operador_a == 2 and operador_b == 4)
print("si primer elemento es 2 O segundo elemeto es 5")
print(operador_a == 2 or operador_b ==5 )
print("si primer elemento NO es 2")
print(not operador_a == 4)


# Relacionales
print("--- OPERADORES RELACIONALES ---")
print(f"2 es mayor que 4: {operador_b > operador_a}")
print(f"2 es menor que 4: {operador_b < operador_a}")
print(f"2 es igual que 4: {operador_b == operador_a}")
print(f"2 No es igual que 4: {operador_b != operador_a}")
print(f"2 es menor o igual que 4: {operador_b <= operador_a}")
print(f"2 es menor o igual que 4: {operador_b >= operador_a}")


# Asignación

print("--- OPERADORES DE ASIGNACIÓN ---")

contador = 6 #asigna un valor
print(contador)
contador += 1 #incremeta valor en 1 y lo asigna a la variable
print(contador)
contador -= 1 #reduce valor en 1 y lo asigna a la variable
print(contador)
contador *= 2
print(contador)
contador /= 2
print(contador)
contador %= 2
print(contador)


# Estructuras de control: condicionales (if), iterativas (for, while), excepciones

a = 4
b = 3
c = 5

# CONDICIONALES
if a == 3:
print("a es igual a cuatro")
elif b != 5:
print("b no es igual a cinco")
elif c == 4:
print ("c es igual a cuatro")
else:
print("hemos llegado al final")

# ITERATIVAS:
var = "fborjalv"

for i in var:
print(i)

count = 0
while count < len(var):
print(var[count])
count +=1

try:
print(10/0)
except:
print("no se puede divir por cero")
finally:
print("Fin al control de excepciones ")

# DIFICULTAD EXTRA:

for num in range(10,56):
if num % 2 == 0 and not (num == 16 or num % 3 == 0):
print(num)


114 changes: 114 additions & 0 deletions Roadmap/02 - FUNCIONES Y ALCANCE/python/fborjalv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# FUNCIONES EN PYTHON

# Funcionaes sin parámetros y sin retorno

def func_no_param_no_return():
print("Soy una función sin parámetros ni retorno")

# Funciones con un parametro

func_no_param_no_return()

def func_param_no_return(param1, param2):
print(f"Soy una función con estos parametros: {param1, param2}")

func_param_no_return(354, "string")

def func_param_no_return_tipado(param1: str, param2: int):
print(f"Soy una función con estos parametros tipados: {param1, param2}")

func_param_no_return_tipado(354, "string") # Python no impore restricciones

def func_param_predefinidos(name="Borja", l_name="Laja"):
print(f"Soy {name} {l_name}")

func_param_predefinidos()
func_param_predefinidos("Brais", "Moure")

# Funciones con varios parámetros

def func_param_varias_variables(*nombres):
print(nombres)

func_param_varias_variables("Montaña", "Playa", "Campo")

# Con un número variable de argumentos con palabra clave

def variable_key_arg_greet(**names):
for key, value in names.items():
print(f"{value} ({key})!")


variable_key_arg_greet(
language="Python",
name="Borja",
alias="fborjalv",
age=32)

# Funciones con retorno

def func_con_retorno(numero, numero_2):
return numero + numero_2

print(func_con_retorno(2, 3))

# Funciones con varios retornos

def func_con_varios_retornos(numero, numero_2):
return numero, numero_2
print(func_con_varios_retornos(4, 6))

# Funciones dentro de funciones

def func_padre():
print("soy la función padre")
def func_hijo():
print("soy la función hijo")
func_hijo()

func_padre()

# Variables locales y globales

my_var_global = "Soy una variable global"

def manejo_de_variables():
my_var_local = "Soy una variable local"
print(my_var_global)
print(my_var_local)


def manejo_de_variables_hija():
my_var_local_hija = "Soy variable local hija"
print(my_var_global)
print(my_var_local)
print(my_var_local_hija)

print(my_var_global)
print(manejo_de_variables())

# EJERCICIO EXTRA

def multiplos (text: str, text_2: str):

contador = 0

for index in range(1, 101):

if index % 3 == 0 and index % 5 == 0:
print(index, text + " " + text_2)

elif index % 3 == 0:
print(index, text)

elif index % 5 == 0:
print(index, text_2)

else:
print(index)
contador += 1

return contador

contador = multiplos("primer", "segundo")
print(f"Números que no son múltiplos ni de 3 ni de 5: {contador}")
142 changes: 142 additions & 0 deletions Roadmap/03 - ESTRUCTURAS DE DATOS/python/fborjalv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# ESTRUCTURAS - inserción, borrado, actualización y ordenación

# LIST ARRAY

print("LISTAS")

list_user: list = ["Angel", "Borja", "Zaida", "Carlos", "Maite", "Pedro"]
print(list_user)

# inserción
list_user.append("Carolina")
print(list_user)

# borrado
list_user.remove("Carlos")
print(list_user)

# actualización

list_user[0] = "Ángel"
print(list_user)

# ordenación
list_user.sort(reverse=False)
print(list_user)


# TUPLAS
print("TUPLAS: son inmutables")
list_compra: tuple = ("pan", "leche", "verduras", "huevos", "aceite")
print(list_compra)

#ordenación - se tiene que transformar en lista
list_compra_ordenada = sorted(list_compra)
print(list_compra_ordenada, type(list_compra_ordenada))
print(tuple(list_compra_ordenada), type(tuple(list_compra_ordenada)))

# SET - CONJUNTOS
print("SETs: elementos únicos, no repetidos")
set_coches: set = {"Ford", "Toyota", "Mercedes", "BMW", "Renault"}

print(set_coches)

#inserción
set_coches.add("Hyundai")
print(set_coches)
set_coches.add("Ford") # NO SE AÑADE PORQUE ESTARÍA DUPLICADO

# borrado
set_coches.remove("Renault")
print(set_coches)

# ordenar
set_coches_ord = sorted(set_coches)
print(set_coches_ord, type(set_coches_ord))
print(set(set_coches_ord), type(set(set_coches_ord))) # NO SE PUEDEN ORDENAR, TIENEN QUE SER LISTAS

# DICCIONARIOS
print("DICCIONARIOS")

bbdd_coches: dict = {
"Ford": 23445,
"BMW": 43525,
"Toyota": 34543,
"Mercedes": 34885,
}

print(bbdd_coches)

# inserción

bbdd_coches["Hyundai"] = 45356
print(bbdd_coches)

# borrado

bbdd_coches.pop("Toyota")
del bbdd_coches["BMW"]
print(bbdd_coches)

# actualización

bbdd_coches["Ford"] = "No disponible"
print(bbdd_coches)

# ordenación

print(sorted(bbdd_coches))

# EJERCICIO

def func_agenda():

agenda = {
"borja": 234234243
}

def nuevo_contacto(nombre, telefono):
if telefono.isdigit() and len(telefono) > 0 and len(telefono) < 11:
agenda[nombre] = telefono
else:
print(
"Debes introducir un número de teléfono un máximo de 11 dígitos.")

option = input("""
Introduce una de las siguientes opciones:
1. Buscar un contacto
2. Añadir un nuevo contacto
3. Actualizar un contacto
4. Eliminar un contacto
5. Salir """)

if option == "1":
nombre = input("Buscar por nombre: ")
if nombre in agenda:
print(f"El numero de telefóno de {nombre} es {agenda[nombre]}")
else:
print("el nombre no está en la agenda")
elif option == "2":
nombre = input("Introduce el nombre del nuevo contacto: ")
telefono = input("Introduce el telefono del nuevo contacto: ")
nuevo_contacto(nombre, telefono)

elif option == "3":
nombre = input("Introduce el nombre que quieres actualizar: ")
if nombre in agenda:
telefono = input("Introduce el nuevo telefono del contacto: ")
nuevo_contacto(nombre, telefono)
else:
print("El contacto no existe")

elif option == "4":
nombre = input("Introduce el contacto que quieres eliminar: ")
if nombre in agenda:
del agenda[nombre]
else:
print("El contacto no existe")
elif option == "5":
print("saliendo del programa...")

func_agenda()

0 comments on commit 7b6f0c7

Please sign in to comment.