Ejercicios While

1.- Pedir un número al usuario y hacer una cuenta regresiva desde ese número

2.- Sumar todos los números pares del 1 al 100 (incluidos)

3.- Mostrar la tabla de multiplicar del 7

4.- Pedir números al usuario hasta que introduzca un 0. Mostrar el número mayor

5.- Escribir un programa que pida nombres y salga cuando escribamos la palabra ‘salir’

6.- Modificar el programa anterior para que salga cuando repitamos el nombre

7.- Escribir un programa que calcule la suma de todos los múltiplos de 5 menores de 100

8.- Pedir un número y calcular el factorial (factorial de 5. 5*4*3*2*1)

9.- Mostrar los cuadrados de los números del 1 al 10

Soluciones if

#Escribe un programa que solicite al usuario su edad y determine si es menor o
# igual a 18 años. Si es menor o igual a 18 años, muestra el mensaje
# “Eres menor de edad”, de lo contrario, muestra “Eres mayor de edad”.

edad=int(input("Introduce tu edad"))

if edad>=18:
    print("Eres mayor de edad")
else:
    print("Eres menor de edad")

# Crea un programa que pida al usuario dos números y determine cuál es el mayor
# de los dos números. Si son iguales, muestra un mensaje que indique que los números
# son iguales.

num1=float(input("Dime el primer número"))
num2=float(input("Dime el segundo número"))

if num1>num2:
    print(f"El mayor es {num1}")
    print("El mayor es", num1)
    print("El mayor es"+str(num1))
elif num2>num1:
    print(f"El mayor es {num2}")
else:
    print("Son iguales")

# Desarrolla un programa que pida al usuario un número entero y determine si es par
# o impar. Si es par, muestra “Es un número par”, si es impar, muestra
# “Es un número impar”.

num=float(input("Dime un número"))
if num%2==0:
    print(f"El numero {num} es par")
else:
    print(f"El numero {num} es impar")

# Escribe un programa que solicite al usuario su calificación en un examen y
# determine si ha aprobado o reprobado. Si la calificación es igual o superior
# a 60, muestra “Aprobado”, de lo contrario, muestra “Reprobado”.

nota=float(input("Dime tu calificación"))
if nota>=60:
    print(f"Estás aprobado")
else:
    print(f"Estás suspendido")

# Un usuario puede entrar a una fiesta si es mayor de 18 años y tiene entrada VIP o es invitado.

edad = 20
vip = False
invitado = True

# Tu condición va aquí:
if edad >= 18 and (vip or invitado):
    print("Acceso permitido")
else:
    print("Acceso denegado")

# Un sistema da acceso si el usuario es "admin" y la clave es "1234",
# pero no está bloqueado.

usuario = "admin"
clave = "1234"
bloqueado = False

# Tu condición:
if usuario=="admin" and clave=="1234" and not bloqueado: # bloqueado==False
    print("Login exitoso")
else:
    print("Acceso denegado")

# Un cliente tiene descuento si es mayor de 65 años o si tiene
# carnet de estudiante válido y es mayor de 18.

edad = 19
tiene_carnet = True

# Tu condición:
if edad>65 or (tiene_carnet and edad>18):
    print("Tiene descuento")
else:
    print("No tiene descuento")

# Un cliente tiene descuento :
# su edad está entre 60 y 80: edad>=60 and edad<=80
# tiene carnet y más de 18 años: tiene_carnet and edad>=18
# no tiene carnet y es menor de 10 años: not tiene_carnet and edad<10
# las tres condiciones estarán unidas con un or
edad = 19
tiene_carnet = True

# Tu condición:
# if edad>=60 and edad<=80 or tiene_carnet and edad>=18 or not tiene_carnet and edad<10:
if (edad>=60 and edad<=80) or (tiene_carnet and edad>=18) or (not tiene_carnet and edad<10):
    print("Tiene descuento")
else:
    print("No tiene descuento")


# Un estudiante aprueba si su nota es mayor o igual a 6 y
# no está inhabilitado por asistencia.

nota = 6.5
asistencia_suficiente = True

# Tu condición:
if nota>=6 and asistencia_suficiente:
    print("Aprobado")
else:
    print("Reprobado")

# Muestra un mensaje si el usuario no ha aceptado los términos:

acepta_terminos = False

if not acepta_terminos:
    print("Debes aceptar los términos para continuar")

Ejercicios if

  1. Escribe un programa que solicite al usuario su edad y determine si es menor o igual a 18 años. Si es menor o igual a 18 años, muestra el mensaje “Eres menor de edad”, de lo contrario, muestra “Eres mayor de edad”.
  2. Crea un programa que pida al usuario dos números y determine cuál es el mayor de los dos números. Si son iguales, muestra un mensaje que indique que los números son iguales.
  3. Desarrolla un programa que pida al usuario un número entero y determine si es par o impar. Si es par, muestra “Es un número par”, si es impar, muestra “Es un número impar”.
  4. Escribe un programa que solicite al usuario su calificación en un examen y determine si ha aprobado o reprobado. Si la calificación es igual o superior a 60, muestra “Aprobado”, de lo contrario, muestra “Reprobado”.

    🧪 Ejercicio 1: Acceso a una fiesta

    Un usuario puede entrar a una fiesta si es mayor de 18 años y tiene entrada VIP o es invitado.

    Completa el código para imprimir “Acceso permitido” o “Acceso denegado”:

    edad = 20
    vip = False
    invitado = True
    
    # Tu condición va aquí:
    if edad >= 18 and (vip or invitado):
        print("Acceso permitido")
    else:
        print("Acceso denegado")
    

    🧪 Ejercicio 2: Validación de login

    Un sistema da acceso si el usuario es "admin" y la clave es "1234"pero no está bloqueado.

    usuario = "admin"
    clave = "1234"
    bloqueado = False
    
    # Tu condición:
    if :
        print("Login exitoso")
    else:
        print("Acceso denegado")
    

    🧪 Ejercicio 3: Acceso a descuentos

    Un cliente tiene descuento si es mayor de 65 años o si tiene carnet de estudiante válido y es mayor de 18.

    edad = 19
    tiene_carnet = True
    
    # Tu condición:
    if :
        print("Tiene descuento")
    else:
        print("No tiene descuento")
    

    🧪 Ejercicio 4: Evaluación académica

    Un estudiante aprueba si su nota es mayor o igual a 6 y no está inhabilitado por asistencia.

    nota = 6.5
    asistencia_suficiente = True
    
    # Tu condición:
    if :
        print("Aprobado")
    else:
        print("Reprobado")
    

    🧪 Ejercicio 5: Uso del operador not

    Muestra un mensaje si el usuario no ha aceptado los términos:

    acepta_terminos = False
    
    if :
        print("Debes aceptar los términos para continuar")

Condiciones if complejas

sueldo = 500

irpf = 15

# Tenemos esta tabla: hasta 2000 10%, hasta 3000 12% hasta 5000 15%  resto 25%

if sueldo < 2000:
    irpf = 10
else:
    if sueldo < 3000:
        irpf = 12
    else:
        if sueldo < 5000:
            irpf = 15
        else:
            irpf = 25

print(irpf)

# Lo de arriba se puede reescribir usando la estructura elif
if sueldo < 2000:
    irpf = 10
elif sueldo < 3000:
    irpf = 12
elif sueldo < 5000:
    irpf = 15
else:
    irpf = 25

print(irpf)

# Sintaxis básica: si se cumple la condición se ejecuta lo que está dentro del if

if sueldo < 1000:
    print("El sueldo no puede ser menos que el SMI")

    # esto está dentro del if
    print("Se viene inspección")

# esto está fuera del if
print(sueldo)

# sintaxis con else: si se cumple se ejecuta lo del if y si no, lo del else

if sueldo > 3000:
    print("Sueldazo")
else:
    print("Sueldo común")

# sintaxis con elif
# cada elif plantea una nueva condición que se evalua, como si fuera un if
# pero queda más claro

if sueldo < 1000:  # Los sueldos menores de 1000
    print("Inspeccion")
elif sueldo < 2000:  # Los menores de 2000
    print("Sueldo bajo")
elif sueldo < 4000:  # De 4000
    print("Buen sueldo")
else:  # Los mayores de 4000 (else del último if)
    print("Sueldazo")

# Las condiciones pueden ser complejas y combinar operadores

if sueldo < 1000 or sueldo > 9000:  # Aquí combino dos condiciones con un or
    print("Sueldo incorrecto")

# Pueden ser lo complejas que hagan falta
if (sueldo < 1000 or sueldo > 9000) and sueldo % 10 == 0:
    print("Sueldo incorrecto que acaba en cero")

# Puedo tener if dentro de otros ifs (ifs anidados)
# Puede ser  lo complicado que haga falta
if sueldo > 5000:
    if sueldo % 10 == 0:
        print("Sueldo mayor de 5000 que acaba en 0")
    else:
        print("Sueldo mayor de 5000 que NO acaba en 0")
else:
    print("Sueldo menor de 5000")

# Veamos un ejemplo de esto
# Calcular el precio de envío de un paquete
# Tenemos lo siguiente:
# Barcelona: 5€ da lo mismo el peso
# Girona o Tarragona 5€ si pesa menos de 10 kilos y 10€ si pesa más
# Resto de ciudades: hasta 10k 5€, hasta 20k 10€, hasta 30k 15 € resto 30€

ciudad = "Logroño"
peso = 12

precio = 0

if ciudad == "Barcelona":
    precio = 5
else:
    if ciudad == "Girona" or ciudad == "Tarragona":
        # calculo los precios
        if peso < 10:
            precio = 5
        else:
            precio = 10
    else:
        if peso < 10:
            precio = 5
        elif peso < 20:
            precio = 10
        elif peso < 30:
            precio = 15
        else:
            precio = 30

print(precio)

elif en python

sueldo = 2500

irpf = 15

# Tenemos esta tabla: hasta 2000 10%, hasta 3000 12% hasta 5000 15%  resto 25%

if sueldo < 2000:
    irpf = 10
else:
    if sueldo < 3000:
        irpf = 12
    else:
        if sueldo < 5000:
            irpf = 15
        else:
            irpf = 25

print(irpf)

# Lo de arriba se puede reescribir usando la estructura elif
if sueldo < 2000:
    irpf = 10
elif sueldo < 3000:
    irpf = 12
elif sueldo < 5000:
    irpf = 15
else:
    irpf = 25

print(irpf)

Condicionales python

# Estructura de control: Nos permite definir el flujo del programa
# if : comprobar una condición y si se cumple se ejecuta un código
# y, opcionalmente, si no se cumple, se ejecuta otro

edad=int(input("Dime tu edad"))

if edad>=18:
    print("Bienvenido a la web")
    print("Eres bienvenido/a")
    print("Disfruta del contenido")
else:
    print("Eres menor de edad")
    print("Introduce un codigo de autorización si quieres acceder")
    codigo=input("Dime el codigo")
    if codigo=="1234":
        print("Bienvenido")
    else:
        print("Código incorrecto")

print("Esto está fuera del if y se ejecuta tanto si se cumple la condición como si no")

# Comparaciones
# >, >=, <, <= , ==, !=

# La igualdad se utilizan dos signos =
if edad==18:
    print("Bienvenido a la mayoría de edad")

# Para diferente exclamación e igual !=
if edad!=18:
    print("No tienes 18 años")

# Recordad que vimos los operadores booleanos
# and, or, not

if edad>=18 and edad<=25:
    print("Tienes descuento de carnet joven (entre 18 y 25)")

if edad<18 or edad>65:
    print("Tienes descuento de niño o jubilado (menor de 18 o mayor de 65")

# recordad la precedencia de los operadores, el and va primero

if edad<18 or edad>20 and edad<30:
    print("Esto se cumple si la edad es menor de 18")
    print("O la edad está entre 20 y 30")

# Recordad que si dudamos podemos usar paréntesis, que son gratis:
if edad<18 or (edad>20 and edad<30):
    print("Esto se cumple si la edad es menor de 18")
    print("O la edad está entre 20 y 30")

if not edad>=18:
    print("Eres menor")
if edad<18:
    print("Es lo mismo")

# Mini ejercicio planteado
# Vamos a hacer un if que nos de un descuento si la edad es 40 o 50

Soluciones variables

import datetime

ahora = datetime.datetime.now()

anio_actual=ahora.year
anio_actual=2025
anio_nacimiento=int(input("Dime tu año de nacimiento"))

print(f"Este año tendrás {anio_actual-anio_nacimiento} años")

# Calcular el área de un triángulo
base=float(input("Dime la base"))
altura=float(input("Dime la altura"))
area=base*altura/2
print("El área es ",area)
# saber hacer esto es importante porque puede ser que queramos
# almacenar el valor, no imprimirlo
print("El área es "+str(area))
print(f"El área es {area}")

# Pido el número
numero=int(input("Dime un numero del 10 al 99"))
decenas=numero//10
unidades=numero%10
suma=decenas+unidades
print("La suma es ",suma)

# Pido los minutos
total_minutos=int(input("Dime cuantos minutos"))

# calculo horas y minutos
horas=total_minutos//60
minutos=total_minutos%60

# muestro
print(f"{horas} horas y {minutos} minutos")



Ejemplos operadores

precio=80
personas=7
print(precio/personas)
print(precio//personas)

print(2**4)

# Modulo % Resto de la división
print(17%5)

# ¿Cómo saber si un número es par o impar?
# Si el módulo 2 es 0, es par
# si el módulo 2 es 1, es impar

print(8%2) # 0, es par
print(81%2) # 1, es impar

numero=9
print(numero%2)

print(numero%3)
giro=850
print(giro%360)

Conversiones

texto = "123"
numero = int(texto)
print(numero + 10)     # 133

texto = "12.3"
numero = float(texto)
print(numero + 10)     # 22.3

edad = 30
print("Tienes " + str(edad) + " años")  # Tienes 30 años
# Esto da un error porque son tipos diferentes
# print("Tienes " + (edad) + " años")  # Tienes 30 años

print(bool(0))         # False
print(bool(1))         # True
print(bool(125))         # True
print(bool(""))        # False
print(bool("hola"))    # True

Imprimir en python

print("hola")
edad=20
print(edad)
print("hola",edad)

print("tu edad es ",edad)

# La f lo que quiere decie es 'cadena formateada'
# Nos permite poner valores entre llaves
print(f"Tu edad es {edad} enhorabuena")
print("Tu edad es",edad,"enhorabuena")
print(f"Dentro de 10 años tendrás {float(edad)+10}")

# La barra (slash) se llama carácter de escape
# El caracter siguiente es especial
# \" es una comilla
print("Se llama \"wifi\" y es un medio de conexión")
# \n es un salto de línea
print("Se llama \n y es un medio de conexión")
# \t es un tabulador
print("Se llama \ty es un medio de conexión")
# \\ es un barra
print("para imprimir barra \\ ")

#  opciones del print
print("hola",edad,"pepe",14)
# especifico cual quiero que sea el separador
print("hola",edad,"pepe",14, sep="  --  ")
# especificar el final de línea
print("hola")
print("juan")
print("hola", end=", ")
print("juan")

with open("salida.txt", "w") as f:
    print("Esto va al archivo", file=f)
    print("Esto también", file=f)