Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions 01_intro/ejercicio_guiado/calculadora_v1.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,25 +21,28 @@
# TODO 1: Pide el primer número al usuario
# Pista: usa input() y guarda el valor en una variable
# primer_numero = ...

print("Valor 1:")
first_input = input()

# TODO 2: Pide el segundo número al usuario
# segundo_numero = ...

print("Valor 2:")
second_input = input()

# TODO 3: Convierte los strings a números decimales
# Pista: usa float() para permitir decimales (ej: 3.5)
# num1 = float(primer_numero)
# num2 = ...

num1 = float(first_input)
num2 = float(second_input)

# TODO 4: Realiza la suma
# resultado = ...

result = num1 + num2

# TODO 5: Muestra el resultado
# Pista: print("El resultado es:", resultado)

print("Resultado: ", result)

# ¡Ya está! Ejecuta el programa y prueba con diferentes números
# Ejemplos para probar:
Expand Down
35 changes: 31 additions & 4 deletions 02_estructuras/ejercicio_guiado/calculadora_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,26 @@

# TODO 1: Pide el primer número al usuario y conviértelo a float
# num1 = ...

print("Valor 1:")
first_input = input()
num1 = int(first_input)

# TODO 2: Pide el segundo número al usuario y conviértelo a float
# num2 = ...

print("Valor 2:")
second_input = input()
num2 = int(second_input)

# TODO 3: Pregunta qué operación desea realizar
# Pista: input("¿Qué operación deseas realizar? (+, -, *, /): ")
# operacion = ...

print("¿Operación a realizar?")
print("0 - Salir")
print("1 - [+] Sumar")
print("2 - [-] Restar")
print("3 - [x] Multiplicar")
print("4 - [%] Dividir")
user_sel = input()

# TODO 4: Realiza la operación correspondiente usando if/elif/else
# Pista: Compara la variable 'operacion' con "+", "-", "*", "/"
Expand All @@ -45,7 +55,6 @@
# else:
# print("❌ Operación no válida")


# TODO 5: Muestra el resultado usando f-strings
# Pista: f"El resultado de {num1} {operacion} {num2} = {resultado:.2f}"
# El :.2f muestra solo 2 decimales
Expand All @@ -63,3 +72,21 @@
#
# 💡 Nota: Si intentas dividir por cero (10 / 0), Python mostrará un error.
# Esto lo arreglaremos en la v3 con validación de entrada.
if user_sel == "0":
print("Ten un buen día.")
exit()
elif user_sel == "1":
print(f"{num1 + num2}")
exit()
elif user_sel == "2":
print(f"{num1 - num2}")
exit()
elif user_sel == "3":
print(f"{num1 * num2}")
exit()
elif user_sel == "4":
print(f"{num1 / num2}")
exit()
else:
print("Operación no válida")
exit()
17 changes: 17 additions & 0 deletions ejercicios_hechos/01_intro/E01_bigotes_felices.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
print("Introduce nombre gato:")
name_input = input()
name = str(name_input)

if not name:
print("Nombre no válido")
exit()

print("Introduce la edad del felino:")
age_input = input()
age = int(age_input)

if not isinstance(age, int):
print("Edad no válida")

print("Añadido a la base de datos:")
print(f"Gato: {name} (edad: {age})")
9 changes: 9 additions & 0 deletions ejercicios_hechos/01_intro/conversor.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
print("Dame un número")
input_num = input()
float_num = float(input_num)

if isinstance(float_num, float):
print(f"{float_num}")
else:
print("Número no válido")

8 changes: 8 additions & 0 deletions ejercicios_hechos/01_intro/eco.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
print("Dime algo y haré eco:")
user_input = input()
message = str(user_input)

if isinstance(message, str):
print(f"{message}")
else:
print("Mensaje no válido")
4 changes: 4 additions & 0 deletions ejercicios_hechos/01_intro/primer_script.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
name = "Ana"

print("Hola, Python")
print(f"Hola, {name}")
8 changes: 8 additions & 0 deletions ejercicios_hechos/01_intro/saludo_input.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
print("¿Cómo te llamas?")
name = input()
str_name = str(name)

if not str_name:
print("Nombre no váido.")
else:
print(f"Hola, {name}")
27 changes: 27 additions & 0 deletions ejercicios_hechos/01_intro/tres_print.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
print("¿Cuántos años tienes? (número)")
age_input = input()
age = int(age_input)

if not isinstance(age, int):
print("Edad no válida.")
exit()

print("¿Cuál es tu lugar favorito? (ciudad)")
city_input = input()
city = str(city_input)

if not isinstance(city, str):
print("Ciudad no válida.")
exit()

print("Dime tu color favorito:")
color_input = input()
color = str(color_input)

if not isinstance(color, str):
print("color no válido.")
exit()

print(f"Usuario actual tiene {age} años.")
print(f"Lugar favorito de usuario actual: {city}")
print(f"Color favorito de usuario actual: {color}")
17 changes: 17 additions & 0 deletions ejercicios_hechos/01_intro/variables_basicas.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
print("¿Cómo te llamas?")
name = input()
str_name = str(name)

if not str_name:
print("Dato no válido: Nombre")
exit()

print("¿Dónde vives?")
city = input()
str_city = str(city)

if not str_city:
print("Dato no válido: Ciudad")
exit()

print(f"{str_name} vive en {str_city}")
23 changes: 23 additions & 0 deletions ejercicios_hechos/02_estructuras/E02_pesaje.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
print("Indica peso (KG - solo numero) de gato 1:")
kg_gato_1_input = input()
kg_gato_1 = int(kg_gato_1_input)

if not kg_gato_1:
print("Dato no válido")

print("Indica peso (KG - solo numero) de gato 2:")
kg_gato_2_input = input()
kg_gato_2 = int(kg_gato_2_input)

if not kg_gato_2:
print("Dato no válido")

print("Indica peso (KG - solo numero) de gato 3:")
kg_gato_3_input = input()
kg_gato_3 = int(kg_gato_3_input)

if not kg_gato_3:
print("Dato no válido")

avg_kg = (kg_gato_1 + kg_gato_2 + kg_gato_3) / 3
print(round(avg_kg, 2))
8 changes: 8 additions & 0 deletions ejercicios_hechos/02_estructuras/booleans.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
a = 10
b = 5
c = 10

print("a >= b:", a >= b)
print("a == c:", a == c)
print("b == c:", b == c)
print("b >= a:", b >= a)
8 changes: 8 additions & 0 deletions ejercicios_hechos/02_estructuras/casting.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
print("Dame un número:")
num_input = input()

try:
int(num_input)
print("Ejercicio completado")
except:
print("Entrada inválida")
9 changes: 9 additions & 0 deletions ejercicios_hechos/02_estructuras/operaciones.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
a = 10
b = 3

sum = a + b
rest = a - b
mult = a * b
div = a / b

print(f"Results: {sum}, {rest}, {mult}, {div:.2f}")
5 changes: 5 additions & 0 deletions ejercicios_hechos/02_estructuras/porcentajes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
quantity = 350

percentage = quantity * 0.15

print(percentage)
3 changes: 3 additions & 0 deletions ejercicios_hechos/02_estructuras/redondeo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
PI = 3.14159

print(f"{round(PI)}")
4 changes: 4 additions & 0 deletions ejercicios_hechos/02_estructuras/strings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
first_name = "antonio"
last_name = "cabrera"

print(f"{first_name.title()} {last_name.title()}")
19 changes: 19 additions & 0 deletions ejercicios_hechos/03_control_flujo/E03_turnos.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
print("Indica el número de gatos:")
cats_input = input()

try:
cats = int(cats_input)
except ValueError:
print("Por favor introduce un número válido.")

turno_A = []
turno_B = []

for i in range(1, cats + 1):
if i % 2 == 0:
turno_B.append(f"Gato {i}")
else:
turno_A.append(f"Gato {i}")

print("Turno A:", turno_A)
print("Turno B:", turno_B)
4 changes: 4 additions & 0 deletions ejercicios_hechos/03_control_flujo/cat_list.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
cat_list = ["cat1", "cat2", "cat3", "cat4", "cat5"]

for cat in cat_list:
print(cat)
9 changes: 9 additions & 0 deletions ejercicios_hechos/03_control_flujo/letter_counter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
print("Escribe una palabra:")
user_input = input()

i = 0

for letter in user_input:
i += 1

print(f"Tu palabra tiene {i} letras.")
16 changes: 16 additions & 0 deletions ejercicios_hechos/03_control_flujo/loop_sum.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
total = 0

while True:
print("Introduce un número (o FIN para terminar):")
num_input = input()

if num_input.lower() == "fin":
break

try:
num = float(num_input)
total += num
except ValueError:
print("Por favor introduce un número válido o FIN.")

print(f"El total es: {total}")
4 changes: 4 additions & 0 deletions ejercicios_hechos/03_control_flujo/multipliers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
for i in range(1, 6):
for j in range(1, 11):
print(f"{i} x {j} = {i*j}")
print()
16 changes: 16 additions & 0 deletions ejercicios_hechos/03_control_flujo/number_type.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
print("Escribe un número:")
num_input = input()

try:
num = int(num_input)
except ValueError:
print("The value has wrong format")
except:
print("Something else went wrong")

if num < 0:
print(f"El número {num} es negativo")
elif num == 0:
print(f"El número {num} es 0.")
elif num > 0:
print(f"El número {num} es positivo.")
7 changes: 7 additions & 0 deletions ejercicios_hechos/03_control_flujo/password.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
password = input("Introduce la contraseña: ")

while password != "gato123":
print("Contraseña incorrecta.")
password = input("Introduce la contraseña: ")

print("Bienvenido, usuario.")
38 changes: 38 additions & 0 deletions ejercicios_hechos/04_funciones/average.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
def media(nums):
if not isinstance(nums, list):
raise TypeError("nums debe ser una lista")

if len(nums) == 0:
raise ValueError("La lista no puede estar vacía")

for n in nums:
if not isinstance(n, (int, float)):
raise ValueError("Todos los elementos deben ser números")

return sum(nums) / len(nums)


def media_user():
nums = []

while True:
print("Introduce un número (o FIN para terminar):")
user_input = input()

if user_input.lower() == "fin":
break

try:
num = float(user_input)
nums.append(num)
except ValueError:
print("Por favor introduce un número válido o FIN.")

if len(nums) == 0:
print("No se introdujo ningún número, no se puede calcular la media.")
return None

result = media(nums)
print(f"La media es: {round(result, 2)}")

media_user()
Loading