Ejemplos for en python

# bucle for se utiliza para recorrer secuencias
# sintaxis:
# for elemento in secuencia:

# Bucle for para recorrer una serie numérica
# Elemento: i
# Secuencia: range(1,6) range nos genera un rango de números desde el primero hasta el último menos uno
# range(1,4)->[1,2,3]
# range(10,21)->[10,11,12,13,14,15,16,17,18,19,20]
for i in range(1, 6):
    print(i)

# El ejercicio de los cuadrados: mostrar los cuadrados del 1 al 10
for i in range(1, 11):
    print(i ** 2)

for letra in "En un lugar de la mancha":
    print(letra, end=" ")

palabras = 1
for letra in "En un lugar de la mancha":
    if letra == " ":
        palabras += 1
print(palabras)
# Suma de todos los números del 1 al 100 con bucle for
suma = 0
for i in range(1, 101):
    suma += i
print(suma)

# Esto en python es una lista
frutas = ["manzana", "banana", "cereza"]
for fruta in frutas:
    print(fruta)

# range(max): Un iterable de números enteros consecutivos que empieza en 0 y acaba en max - 1
for i in range(10):
    print(i)  # del 0 al 9
# range(min, max): Un iterable de números enteros consecutivos que empieza en min y acaba en max - 1
for i in range(1, 11):
    print(i)  # del 1 al 10
# range(min, max, step): Un iterable de números enteros consecutivos que empieza en min
# acaba en max - 1 y los valores se van incrementando de step en step.
# Este último caso simula el bucle for con variable de control.

for i in range(1, 100, 5):
    print(i)  # del 1 al 100 en pasos de 5

# Nos permite poner pasos negativos

for i in range(10,-1,-1):
    print(i)

# Sumar todos los números pares del 1 al 100 (incluidos)
suma = 0
for i in range(1, 101):
    if i % 2 == 0:
        suma += i
print(suma)

suma = 0
for i in range(0, 101, 2):
    suma += i
print(suma)

# Mostrar la tabla de multiplicar del 7
# 1x7=7 2x7=14 3x7=21....10x7=70
for i in range(1, 11):
    print(f"{i} x 7 = {i * 7}")

# Pedir una cadena al usuario y decirle cuantas letras 'a' tiene
# hola->1  patata->3
# Pedir una cadena al usuario: sabemos
# Un bucle para recorrer las letras (lo hemos visto en la teoría)
# Dentro de ese bucle vamos a mirar si la letra es la 'a'
contador = 0
cadena = input("Dime una cadena y te diré cuantas aes tiene ")
for letra in cadena:
    if letra == "a":
        contador += 1
print("El número de aes en '",cadena,"' es ",contador)


Soluciones while

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

# Pedir un número
numero = int(input("Dame un número entero"))

# Contar desde el número hasta el cero
while numero >= 0:
    # Imprimir esa 'cuenta' para ver la regresión
    print(numero)
    numero = numero - 1  # numero-=1

# Sumar todos los números pares del 1 al 100 (incluidos)

# ¿Se averiguar todos los números pares del 1 al 100?
# ¿Se mostrar todos los número del 1 al 100?
# ¿Se cuando un número es par o impar?
# ¿Se sumar en una variable?
numero = 1
suma = 0
while numero <= 100:
    if numero % 2 == 0:
        suma += numero
    numero += 1
print(suma)

numero = 0
suma = 0
while numero <= 100:
    suma += numero
    numero += 2
print(suma)

# Mostrar la tabla de multiplicar del 7
# 1x7=7 2x7=14 3x7=21....10x7=70
# Esto SI es un bucle
# Con qué numero empieza el bucle y con cual acaba
# Del 1 al 10
numero = 1
while numero <= 10:
    print(f"{numero} x 7 = {numero * 7}")
    numero += 1

# Pedir números al usuario hasta que introduzca un 0. Mostrar el número mayor
# Pedir un número al usuario (lo sabemos)
# Saber un bucle hasta que un valor sea 0
# Saber cual es el mayor de una serie de números

# Pido un número al usuario
numero = int(input("Dame un número entero"))
# De momento me lo quedo. Lo que es correcto es el mayor
mayor = numero
# Mientras el usuario no me introduzca un 0, voy pidiendo números
while numero != 0:
    numero = int(input("Dame un número entero"))
    # Si el número que me ha dado el usuario es mayor que el que ya tenía, pues me quedo con él
    if numero > mayor:
        mayor = numero
print(mayor)

# Escribir un programa que pida nombres y salga cuando escribamos la palabra ‘salir’
# Pido un nombre
# bucle hasta que digan salir

nombre = ""

while nombre != "salir":
    nombre = input("Dime un nombre")

nombre = ""
lista = ""
while nombre != "salir":
    nombre = input("Dime un nombre")
    lista += nombre + " "
print(lista)

# Modificar el programa anterior para que salga cuando repitamos el nombre
# cuando el nombre que me introducen es igual al anterior

nombre = ""
anterior = "#"
while nombre != anterior:
    anterior = nombre
    nombre = input("Dime un nombre")

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

numero = 0
suma = 0
while numero <= 100:
    suma += numero
    numero += 5
print(suma)

# Pedir un número y calcular el factorial (factorial de 5. 5*4*3*2*1)
# Pido un número
# Hago un bucle desde donde hasta donde?
# Empiezo en el número y acabo en el 1

numero = int(input("Dime un número"))
factorial = 1
while numero >= 1:
    factorial = factorial * numero
    numero -= 1

print(factorial)

# Mostrar los cuadrados de los números del 1 al 10
# bucle del 1 al 10
numero=1
while numero<=10:
    print(numero**2)
    numero+=1

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)