# ===== Ejercicio 1 =====
# Factura simple

producto = "Cuaderno"
precio = 2.50
cantidad = 3

# Calculo el subtotal de la compra
subtotal = precio * cantidad

print(f"Compraste {cantidad} unidades de {producto}. Subtotal: ${subtotal:.2f}")


# ===== Ejercicio 2 =====
# IVA como constante

IVA = 0.15
precio_producto = 18.50

# Calculo el IVA y el precio total
valor_iva = precio_producto * IVA
precio_final = precio_producto + valor_iva

print(f"Precio del producto: ${precio_producto:.2f}")
print(f"Valor del IVA: ${valor_iva:.2f}")
print(f"Precio final: ${precio_final:.2f}")


# ===== Ejercicio 3 =====
# Conversor de divisas

TASA_EUR = 0.92
dolares = 35.00

# Convierto los dólares a euros
euros = dolares * TASA_EUR

print(f"Monto en dólares: ${dolares:.2f}")
print(f"Monto en euros: €{euros:.2f}")


# ===== Ejercicio 4 =====
# Ficha personal

nombre = "Franchesca"
edad = 20
estatura = 1.60
es_estudiante = True

# Muestro mis datos y el tipo de cada variable
print(f"Nombre: {nombre} - Tipo: {type(nombre)}")
print(f"Edad: {edad} - Tipo: {type(edad)}")
print(f"Estatura: {estatura} m - Tipo: {type(estatura)}")
print(f"Soy estudiante: {es_estudiante} - Tipo: {type(es_estudiante)}")


# ===== Ejercicio 5 =====
# Intercambio de valores

vaso_a = "agua"
vaso_b = "jugo"

# Intercambio usando una variable auxiliar
auxiliar = vaso_a
vaso_a = vaso_b
vaso_b = auxiliar

print(f"Con variable auxiliar: vaso A = {vaso_a}, vaso B = {vaso_b}")

# Intercambio en una sola línea
vaso_a, vaso_b = vaso_b, vaso_a

print(f"En una sola línea: vaso A = {vaso_a}, vaso B = {vaso_b}")


# ===== Ejercicio 6 =====
# Velocidad y tiempo

DISTANCIA_KM = 120
velocidad_bus = 70

# Calculo el tiempo que dura el viaje
tiempo_horas = DISTANCIA_KM / velocidad_bus

horas = int(tiempo_horas)
minutos = int((tiempo_horas - horas) * 60)

print(f"Distancia del viaje: {DISTANCIA_KM} km")
print(f"Velocidad promedio: {velocidad_bus} km/h")
print(f"Duración aproximada: {horas} hora(s) y {minutos} minuto(s)")


# ===== Ejercicio 7 =====
# Calculadora de propina

cuenta = 48.00
propina = cuenta * 0.10
total = cuenta + propina
pago_por_persona = total / 4

# Muestro cuánto se paga en total y por persona
print(f"Valor de la cuenta: ${cuenta:.2f}")
print(f"Propina del 10%: ${propina:.2f}")
print(f"Total a pagar: ${total:.2f}")
print(f"Cada amigo paga: ${pago_por_persona:.2f}")


# ===== Ejercicio 8 =====
# Cociente y residuo

caramelos = 47
capacidad_bolsa = 6

# Calculo las bolsas completas y los caramelos que sobran
bolsas_completas = caramelos // capacidad_bolsa
caramelos_sobrantes = caramelos % capacidad_bolsa

print(f"Bolsas completas: {bolsas_completas}")
print(f"Caramelos sobrantes: {caramelos_sobrantes}")


# ===== Ejercicio 9 =====
# Conversor de temperatura

temperatura_celsius = 22

# Convierto la temperatura a Fahrenheit y Kelvin
fahrenheit = temperatura_celsius * 9 / 5 + 32
kelvin = temperatura_celsius + 273.15

print(f"Temperatura en Celsius: {temperatura_celsius} °C")
print(f"Temperatura en Fahrenheit: {fahrenheit:.2f} °F")
print(f"Temperatura en Kelvin: {kelvin:.2f} K")


# ===== Ejercicio 10 =====
# Índice de masa corporal

peso = 60
estatura = 1.65

# Calculo el IMC con el peso y la estatura
imc = peso / estatura ** 2

print(f"Peso: {peso} kg")
print(f"Estatura: {estatura} m")
print(f"IMC: {imc:.2f}")


# ===== Ejercicio 11 =====
# Comparación de notas

nota_estudiante1 = 9
nota_estudiante2 = 6

# Realizo las comparaciones entre las dos notas
notas_iguales = nota_estudiante1 == nota_estudiante2
primera_mayor = nota_estudiante1 > nota_estudiante2
diferencia_mayor_2 = abs(nota_estudiante1 - nota_estudiante2) > 2

print(f"¿Las notas son iguales?: {notas_iguales}")
print(f"¿La primera nota es mayor?: {primera_mayor}")
print(f"¿La diferencia es mayor a 2 puntos?: {diferencia_mayor_2}")


# ===== Ejercicio 12 =====
# Operadores lógicos

tiene_entrada = True
edad = 16
va_acompanada = False

# Verifico si la persona puede ingresar al cine
puede_ingresar = tiene_entrada and (edad > 12 or va_acompanada)

print(f"Tiene entrada: {tiene_entrada}")
print(f"Edad: {edad} años")
print(f"Va acompañada: {va_acompanada}")
print(f"¿Puede ingresar al cine?: {puede_ingresar}")


# ===== Ejercicio 13 =====
# Interés compuesto

TASA_ANUAL = 0.05
capital = 1000
anios = 3

# Calculo el monto final después de los 3 años
monto_final = capital * (1 + TASA_ANUAL) ** anios

print(f"Capital inicial: ${capital:.2f}")
print(f"Tasa anual: {TASA_ANUAL * 100:.0f}%")
print(f"Tiempo: {anios} años")
print(f"Monto final: ${monto_final:.2f}")


# ===== Ejercicio 14 =====
# Descomposición de segundos

segundos_totales = 98765

# Calculo las horas, minutos y segundos
horas = segundos_totales // 3600
segundos_restantes = segundos_totales % 3600
minutos = segundos_restantes // 60
segundos = segundos_restantes % 60

print(f"Segundos totales: {segundos_totales}")
print(f"Equivale a: {horas} horas, {minutos} minutos y {segundos} segundos")


# ===== Ejercicio 15 =====
# Mayoría de edad

edad = 20

# Verifico si la persona es mayor o menor de edad
if edad >= 18:
    print("La persona es mayor de edad")
else:
    print("La persona es menor de edad")


# ===== Ejercicio 16 =====
# Número par o impar

numero = 27

# Verifico si el número es par o impar
if numero % 2 == 0:
    print(f"El número {numero} es par")
else:
    print(f"El número {numero} es impar")


# ===== Ejercicio 17 =====
# Aprobado o reprobado

nota = 8.5

# Primero verifico que la nota sea válida
if nota < 0 or nota > 10:
    print("Error: la nota debe estar entre 0 y 10")
elif nota >= 7:
    print(f"Nota: {nota} - Aprobado")
else:
    print(f"Nota: {nota} - Reprobado")


# ===== Ejercicio 18 =====
# Descuento por monto

valor_compra = 135.00

# Verifico si la compra tiene descuento
if valor_compra > 100:
    descuento = valor_compra * 0.10
else:
    descuento = 0

total_pagar = valor_compra - descuento

print(f"Valor original: ${valor_compra:.2f}")
print(f"Descuento: ${descuento:.2f}")
print(f"Total a pagar: ${total_pagar:.2f}")


# ===== Ejercicio 19 =====
# Tarifa de transporte

edad = 20

# Calculo la tarifa según la edad
if edad < 12:
    tarifa = 0.15
elif edad < 65:
    tarifa = 0.30
else:
    tarifa = 0.10

print(f"Edad: {edad} años")
print(f"Tarifa de transporte: ${tarifa:.2f}")


# ===== Ejercicio 20 =====
# Clasificación de temperatura

temperatura = 23

# Clasifico la temperatura del día
if temperatura < 15:
    clima = "Frío"
elif temperatura <= 25:
    clima = "Agradable"
else:
    clima = "Caluroso"

print(f"Temperatura: {temperatura} °C")
print(f"El clima está: {clima}")


# ===== Ejercicio 21 =====
# Mayor de tres números

numero1 = 18
numero2 = 35
numero3 = 27

# Comparo los tres números para encontrar el mayor
if numero1 > numero2 and numero1 > numero3:
    mayor = numero1
elif numero2 > numero1 and numero2 > numero3:
    mayor = numero2
else:
    mayor = numero3

print(f"Los números son: {numero1}, {numero2} y {numero3}")
print(f"El número mayor es: {mayor}")


# ===== Ejercicio 22 =====
# Año bisiesto

anio = 2024

# Verifico si el año es bisiesto
if anio % 400 == 0:
    print(f"El año {anio} es bisiesto")
elif anio % 100 == 0:
    print(f"El año {anio} no es bisiesto")
elif anio % 4 == 0:
    print(f"El año {anio} es bisiesto")
else:
    print(f"El año {anio} no es bisiesto")


# ===== Ejercicio 23 =====
# Cajero automático

PIN_CORRECTO = 1234
pin_ingresado = 1234
saldo = 500
monto_retirar = 120

# Primero verifico el PIN y luego el saldo
if pin_ingresado == PIN_CORRECTO:
    if monto_retirar <= saldo:
        print("Retiro exitoso")
    else:
        print("Fondos insuficientes")
else:
    print("PIN incorrecto")


# ===== Ejercicio 24 =====
# Préstamo bancario

ingreso_mensual = 950
antiguedad_laboral = 3

# Verifico el ingreso y luego la antigüedad laboral
if ingreso_mensual >= 800:
    if antiguedad_laboral > 2:
        tasa = 0.08
    else:
        tasa = 0.12

    print("Préstamo aprobado")
    print(f"Tasa de interés: {tasa * 100:.0f}%")
else:
    print("Préstamo rechazado")


# ===== Ejercicio 25 =====
# Envío de paquetes

peso_paquete = 4
tipo_envio = "local"

# Calculo el costo según el peso y el tipo de envío
if peso_paquete <= 5:
    if tipo_envio == "local":
        costo_envio = 3
    else:
        costo_envio = 6
else:
    if tipo_envio == "local":
        costo_envio = 7
    else:
        costo_envio = 12

print(f"Peso del paquete: {peso_paquete} kg")
print(f"Tipo de envío: {tipo_envio}")
print(f"Costo del envío: ${costo_envio:.2f}")


# ===== Ejercicio 26 =====
# Acceso a evento

entrada_valida = True
tipo_entrada = "VIP"

# Verifico si tiene entrada y qué tipo de acceso le corresponde
if entrada_valida:
    if tipo_entrada == "VIP":
        print("Acceso permitido a todas las áreas")
    else:
        print("Acceso permitido solo a la zona común")
else:
    print("Acceso denegado")


# ===== Ejercicio 27 =====
# Calificación con letras

nota = 86

# Primero verifico que la nota esté dentro del rango
if nota < 0 or nota > 100:
    print("Error: la nota debe estar entre 0 y 100")
else:
    if nota >= 90:
        letra = "A"
    elif nota >= 80:
        letra = "B"
    elif nota >= 70:
        letra = "C"
    elif nota >= 60:
        letra = "D"
    else:
        letra = "F"

    print(f"Nota: {nota}")
    print(f"Calificación: {letra}")


# ===== Ejercicio 28 =====
# Diagnóstico de IMC

peso = 60
estatura = 1.65
edad = 20

# Calculo el IMC
imc = peso / estatura ** 2

# Verifico la edad antes de clasificar el IMC
if edad < 18:
    print("Debe consultar a un pediatra")
else:
    if imc < 18.5:
        clasificacion = "Bajo peso"
    elif imc < 25:
        clasificacion = "Normal"
    elif imc < 30:
        clasificacion = "Sobrepeso"
    else:
        clasificacion = "Obesidad"

    print(f"IMC: {imc:.2f}")
    print(f"Clasificación: {clasificacion}")


# ===== Ejercicio 29 =====
# Tabla de multiplicar

numero = 7

# Muestro la tabla del número del 1 al 12
for i in range(1, 13):
    resultado = numero * i
    print(f"{numero} x {i} = {resultado}")


# ===== Ejercicio 30 =====
# Suma de los primeros N números

N = 100
suma = 0

# Sumo los números desde 1 hasta N
for numero in range(1, N + 1):
    suma = suma + numero

print(f"La suma de los números del 1 al {N} es: {suma}")


# ===== Ejercicio 31 =====
# Cuenta regresiva

# Hago la cuenta regresiva desde 10 hasta 1
for numero in range(10, 0, -1):
    print(numero)

print("¡Despegue!")


# ===== Ejercicio 32 =====
# Solo los pares

cantidad_pares = 0

# Recorro los números del 1 al 50
for numero in range(1, 51):
    if numero % 2 == 0:
        print(numero)
        cantidad_pares = cantidad_pares + 1

print(f"Cantidad de números pares: {cantidad_pares}")


# ===== Ejercicio 33 =====
# Promedio de notas

notas = [8.5, 9.2, 7.8, 6.5, 9.5, 8.0]

suma_notas = 0
nota_alta = notas[0]
nota_baja = notas[0]

# Recorro las notas para calcular los resultados
for nota in notas:
    suma_notas = suma_notas + nota

    if nota > nota_alta:
        nota_alta = nota

    if nota < nota_baja:
        nota_baja = nota

promedio = suma_notas / len(notas)

print(f"Promedio: {promedio:.2f}")
print(f"Nota más alta: {nota_alta}")
print(f"Nota más baja: {nota_baja}")


# ===== Ejercicio 34 =====
# Ahorro mensual

ahorro_mensual = 50
ahorro_total = 0

# Calculo el ahorro de cada mes durante un año
for mes in range(1, 13):
    print(f"Mes {mes}: ${ahorro_mensual:.2f}")
    ahorro_total = ahorro_total + ahorro_mensual
    ahorro_mensual = ahorro_mensual + 10

print(f"Total ahorrado en 12 meses: ${ahorro_total:.2f}")


# ===== Ejercicio 35 =====
# Cadena de texto

frase = "Me gusta aprender Python"
cantidad_vocales = 0

# Recorro la frase letra por letra
for letra in frase:
    if letra.lower() in "aeiou":
        cantidad_vocales = cantidad_vocales + 1

print(f"Frase: {frase}")
print(f"Cantidad de vocales: {cantidad_vocales}")


# ===== Ejercicio 36 =====
# Figura con asteriscos

altura = 5

# Dibujo el triángulo usando un for dentro de otro
for fila in range(1, altura + 1):
    for columna in range(fila):
        print("*", end="")
    print()


# ===== Ejercicio 37 =====
# Validación de contraseña

CLAVE = "Python2026"
intentos = 0
contrasena = ""

# Pido la contraseña hasta que sea correcta
while contrasena != CLAVE:
    contrasena = input("Ingrese la contraseña: ")
    intentos = intentos + 1

    if contrasena != CLAVE:
        print("Contraseña incorrecta")

print("Contraseña correcta")
print(f"Intentos realizados: {intentos}")


# ===== Ejercicio 38 =====
# Suma hasta cero

suma_total = 0
cantidad_numeros = 0

# Pido números hasta que se ingrese 0
numero = int(input("Ingrese un número: "))

while numero != 0:
    suma_total = suma_total + numero
    cantidad_numeros = cantidad_numeros + 1
    numero = int(input("Ingrese otro número: "))

print(f"Suma total: {suma_total}")
print(f"Cantidad de números ingresados: {cantidad_numeros}")


# ===== Ejercicio 39 =====
# Adivina el número

NUMERO_SECRETO = 25
intentos = 0
numero = 0

# Pido números hasta que se adivine el correcto
while numero != NUMERO_SECRETO:
    numero = int(input("Adivina el número: "))
    intentos = intentos + 1

    if numero < NUMERO_SECRETO:
        print("Más alto")
    elif numero > NUMERO_SECRETO:
        print("Más bajo")

print("¡Adivinaste!")
print(f"Intentos realizados: {intentos}")


# ===== Ejercicio 40 =====
# Meta de ahorro

META_AHORRO = 2000
ahorro_mensual = 150
ahorro_acumulado = 0
meses = 0

# Ahorro cada mes hasta llegar a la meta
while ahorro_acumulado < META_AHORRO:
    ahorro_acumulado = ahorro_acumulado + ahorro_mensual
    meses = meses + 1

print(f"Meses necesarios: {meses}")
print(f"Ahorro acumulado: ${ahorro_acumulado:.2f}")


# ===== Ejercicio 41 =====
# Crecimiento de población

poblacion = 50000
TASA_CRECIMIENTO = 0.03
anios = 0

# Calculo el crecimiento hasta superar los 100000 habitantes
while poblacion <= 100000:
    poblacion = poblacion * (1 + TASA_CRECIMIENTO)
    anios = anios + 1

print(f"Años necesarios: {anios}")
print(f"Población final: {poblacion:.0f} habitantes")


# ===== Ejercicio 42 =====
# Menú interactivo

saldo = 500
opcion = 0

# Repito el menú hasta elegir la opción 4
while opcion != 4:
    print("\n1. Ver saldo")
    print("2. Depositar")
    print("3. Retirar")
    print("4. Salir")

    opcion = int(input("Elija una opción: "))

    if opcion == 1:
        print(f"Saldo actual: ${saldo:.2f}")

    elif opcion == 2:
        deposito = float(input("Ingrese el valor a depositar: $"))
        saldo = saldo + deposito
        print(f"Nuevo saldo: ${saldo:.2f}")

    elif opcion == 3:
        retiro = float(input("Ingrese el valor a retirar: $"))

        if retiro <= saldo:
            saldo = saldo - retiro
            print(f"Retiro realizado. Saldo actual: ${saldo:.2f}")
        else:
            print("Fondos insuficientes")

    elif opcion == 4:
        print("Saliendo del menú")

    else:
        print("Opción no válida")


# ===== Ejercicio 43 =====
# Dígitos de un número

numero = 58327
numero_temporal = numero
cantidad_digitos = 0
suma_digitos = 0

# Recorro los dígitos del número usando while
while numero_temporal > 0:
    digito = numero_temporal % 10
    suma_digitos = suma_digitos + digito
    cantidad_digitos = cantidad_digitos + 1
    numero_temporal = numero_temporal // 10

print(f"Número: {numero}")
print(f"Cantidad de dígitos: {cantidad_digitos}")
print(f"Suma de sus dígitos: {suma_digitos}")


# ===== Ejercicio 44 =====
# Función de saludo

def saludar(nombre, hora):
    # Elijo el saludo según la hora
    if hora <= 11:
        saludo = "Buenos días"
    elif hora <= 18:
        saludo = "Buenas tardes"
    else:
        saludo = "Buenas noches"

    return f"{saludo}, {nombre}"

# Pruebo la función con tres horas diferentes
print(saludar("Franchesca", 9))
print(saludar("Franchesca", 15))
print(saludar("Franchesca", 21))


# ===== Ejercicio 45 =====
# Área de figuras

PI = 3.1416

def area_circulo(radio):
    area = PI * radio ** 2
    return area

def area_rectangulo(base, altura):
    area = base * altura
    return area

# Datos para probar las funciones
radio = 4
base = 6
altura = 3

print(f"Área del círculo: {area_circulo(radio):.2f}")
print(f"Área del rectángulo: {area_rectangulo(base, altura):.2f}")


# ===== Ejercicio 46 =====
# Calculadora con funciones

def sumar(a, b):
    return a + b

def restar(a, b):
    return a - b

def multiplicar(a, b):
    return a * b

def dividir(a, b):
    if b != 0:
        return a / b
    else:
        return None

print("1. Sumar")
print("2. Restar")
print("3. Multiplicar")
print("4. Dividir")

opcion = int(input("Elija una operación: "))
numero1 = float(input("Ingrese el primer número: "))
numero2 = float(input("Ingrese el segundo número: "))

if opcion == 1:
    resultado = sumar(numero1, numero2)
    print(f"Resultado: {resultado:.2f}")

elif opcion == 2:
    resultado = restar(numero1, numero2)
    print(f"Resultado: {resultado:.2f}")

elif opcion == 3:
    resultado = multiplicar(numero1, numero2)
    print(f"Resultado: {resultado:.2f}")

elif opcion == 4:
    resultado = dividir(numero1, numero2)

    if resultado is None:
        print("Error: no se puede dividir entre cero")
    else:
        print(f"Resultado: {resultado:.2f}")

else:
    print("Opción no válida")


# ===== Ejercicio 47 =====
# Precio con impuestos

IVA = 0.15

def precio_final(precio, descuento=0):
    # Primero aplico el descuento
    precio_descuento = precio - (precio * descuento / 100)

    # Después agrego el IVA
    total = precio_descuento + (precio_descuento * IVA)

    return total

# Pruebo la función sin descuento y con descuento
precio = 50

print(f"Precio final sin descuento: ${precio_final(precio):.2f}")
print(f"Precio final con 10% de descuento: ${precio_final(precio, 10):.2f}")


# ===== Ejercicio 48 =====
# Número primo

def es_primo(n):
    if n < 2:
        return False

    for numero in range(2, n):
        if n % numero == 0:
            return False

    return True

# Muestro los números primos del 1 al 50
print("Números primos del 1 al 50:")

for numero in range(1, 51):
    if es_primo(numero):
        print(numero)


# ===== Ejercicio 49 =====
# Estadísticas de una lista

def estadisticas(lista):
    promedio = sum(lista) / len(lista)
    maximo = max(lista)
    minimo = min(lista)

    return promedio, maximo, minimo

# Lista de números para probar la función
numeros = [8, 6, 10, 7, 9, 5]

promedio, maximo, minimo = estadisticas(numeros)

print(f"Promedio: {promedio:.2f}")
print(f"Máximo: {maximo}")
print(f"Mínimo: {minimo}")


# ===== Ejercicio 50 =====
# Mini sistema de nómina

APORTE = 0.0945

def calcular_sueldo(horas, valor_hora):
    if horas <= 40:
        sueldo = horas * valor_hora
    else:
        horas_extra = horas - 40
        sueldo = (40 * valor_hora) + (horas_extra * valor_hora * 1.5)

    return sueldo

def descuento_iess(sueldo):
    descuento = sueldo * APORTE
    return descuento

def mostrar_rol(horas, valor_hora):
    sueldo_bruto = calcular_sueldo(horas, valor_hora)
    descuento = descuento_iess(sueldo_bruto)
    sueldo_neto = sueldo_bruto - descuento

    print("Rol de pagos")
    print(f"Sueldo bruto: ${sueldo_bruto:.2f}")
    print(f"Descuento IESS: ${descuento:.2f}")
    print(f"Sueldo neto: ${sueldo_neto:.2f}")

# Datos para probar el programa
horas_trabajadas = 45
valor_hora = 5.00

mostrar_rol(horas_trabajadas, valor_hora)

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: