Condicionales (if, elif, else)

 Los condicionales permiten que un programa tome decisiones en función de si una condición es verdadera o falsa.

1. Estructura básica

if condicion:
    # código si la condición es verdadera

Ejemplo:

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

2. if – else

if condicion:
    # si se cumple
else:
    # si NO se cumple

Ejemplo:

temperatura = 12

if temperatura > 20:
    print("Hace calor")
else:
    print("Hace frío")

3. if – elif – else

Se usa cuando hay varias condiciones posibles.

nota = 7

if nota >= 9:
    print("Sobresaliente")
elif nota >= 7:
    print("Notable")
elif nota >= 5:
    print("Aprobado")
else:
    print("Suspenso")

4. Condiciones múltiples

Operador AND

if edad >= 18 and edad <= 65:
    print("Adulto en edad laboral")

Operador OR

if dia == "sábado" or dia == "domingo":
    print("Es fin de semana")

Negación NOT

if not lluvia:
    print("Puedes salir sin paraguas")

ACTIVIDAD PRÁCTICA: “Sistema de acceso con niveles de permiso”

Objetivo: aplicar condicionales en un caso real de FP: control de acceso a un sistema.

Enunciado

Crea un programa que pida al usuario:

  • Su nombre

  • Su rol (admin, profesor, alumno)

  • Su edad

El sistema debe mostrar:

  1. Si puede acceder o no (solo mayores de 16).

  2. Qué permisos tiene según su rol:

    • admin → acceso total

    • profesor → acceso a gestión académica

    • alumno → acceso a zona de estudio

    • cualquier otro → acceso denegado

  3. Si es menor de 18, mostrar un aviso adicional: "Acceso limitado para menores de edad".

Solución propuesta

nombre = input("Introduce tu nombre: ")
rol = input("Introduce tu rol (admin, profesor, alumno): ").lower()
edad = int(input("Introduce tu edad: "))

print(f"\nBienvenido, {nombre}.")

# 1. Comprobar edad mínima
if edad < 16:
    print("Acceso denegado: debes tener al menos 16 años.")
else:
    # 2. Permisos según rol
    if rol == "admin":
        print("Permisos: acceso total al sistema.")
    elif rol == "profesor":
        print("Permisos: acceso a gestión académica.")
    elif rol == "alumno":
        print("Permisos: acceso a zona de estudio.")
    else:
        print("Rol no reconocido. Acceso denegado.")

    # 3. Aviso para menores de edad
    if edad < 18:
        print("Aviso: acceso limitado para menores de edad.")

Ejemplo de salida

Introduce tu nombre: Marta
Introduce tu rol (admin, profesor, alumno): profesor
Introduce tu edad: 17

Bienvenido, Marta.
Permisos: acceso a gestión académica.
Aviso: acceso limitado para menores de edad.