📱 Control remoto

Escaneá con tu celular para controlar la presentación.

QR Code
Python 3 · Semana 2 · Sesión 4 · UAJMS Yacuiba
Bucles
for & while — Repetición automática
60–90 min 📍 UAJMS · Yacuiba 🐍 Python 3
1 / 20
Sesión 4Objetivos
💡
Idea clave: Un bucle ejecuta el mismo bloque miles de veces con una sola instrucción.
2 / 20
4.1¿Qué es un Bucle?
✗ sin bucle
print("Número: 1")
print("Número: 2")
print("Número: 3")
print("Número: 4")
print("Número: 5")
✓ con bucle
for i in range(1, 6):
    print("Número:", i)
Número: 1 Número: 2 Número: 3 Número: 4 Número: 5
🔁
for recorre una secuencia. while repite mientras una condición sea True.
3 / 20
4.2
sección
Bucle for
Repetir un número conocido de veces usando range()
4 / 20
4.2for con range()
# range(inicio, fin, paso) — el fin NO se incluye

for i in range(1, 6):        # 1 2 3 4 5
    print("Número:", i)

for i in range(0, 20, 5):    # 0 5 10 15
    print(i)
⚠️
Atención: range(1, 6) genera 1, 2, 3, 4, 5. El último número NO se incluye.
5 / 20
4.2Tabla de Multiplicar
for i in range(1, 11):
    print("7 x", i, "=", 7 * i)
7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 7 x 10 = 70
6 / 20
4.3
sección
Bucle while
Repetir mientras una condición sea True
7 / 20
4.3Bucle while
contador = 5
while contador > 0:
    print(contador)
    contador = contador - 1
print("¡Despegue!")
5 4 3 2 1 ¡Despegue!
8 / 20
4.3Validación con while
respuesta = ""
while respuesta != "salir":
    respuesta = input("Escribí 'salir' para terminar: ")
    print("Escribiste:", respuesta)
print("Programa terminado.")
⚠️
Bucle infinito: si la condición nunca se vuelve False, el programa corre para siempre. Frenar: Ctrl + C.
9 / 20
4.4
sección
Acumuladores y Contadores
Variables que acumulan resultados iteración por iteración
10 / 20
4.4Acumulador — Suma
suma = 0                  # ① inicializar ANTES del bucle
for i in range(1, 11):
    suma = suma + i        # ② acumular DENTRO del bucle
print("Suma total:", suma)  # ③ usar DESPUÉS del bucle
Suma total: 55
🔑
Patrón: Inicializar → acumular → imprimir. Si inicializás dentro del bucle, siempre se resetea a 0.
11 / 20
4.4Contador — Números Pares
contador_pares = 0
for i in range(1, 21):
    if i % 2 == 0:
        contador_pares += 1
print("Números pares del 1 al 20:", contador_pares)
Números pares del 1 al 20: 10
💡
i % 2 == 0 — el % (módulo) devuelve el resto. Resto = 0 → número par.
12 / 20
4.5
sección
break y continue
Salir del bucle o saltear una iteración
13 / 20
4.5break y continue
break — sale del bucle
for i in range(1, 11):
    if i == 5:
        break
    print(i)
1 2 3 4
continue — salta iteración
for i in range(1, 11):
    if i % 2 == 0:
        continue
    print(i)
1 3 5 7 9
14 / 20
Ejercicio 10Tabla de Multiplicar
📋 consigna
  1. Pedí al usuario un número entre 1 y 12.
  2. Imprimí su tabla de multiplicar completa.
  3. Usá for con range(1, 11).
n = int(input("Número para la tabla: "))
print("--- Tabla del", n, "---")
for i in range(1, 11):
    print(n, "x", i, "=", n * i)
15 / 20
Ejercicio 11Suma con while
📋 consigna
  1. Pedí números con while hasta que el usuario ingrese 0.
  2. Acumulá la suma y contá cuántos ingresó.
  3. Mostrá la cantidad y la suma total.
suma     = 0
cantidad = 0
numero   = int(input("Número (0 para terminar): "))
while numero != 0:
    suma     += numero
    cantidad += 1
    numero = int(input("Número (0 para terminar): "))
print("Cantidad:", cantidad, "· Suma:", suma)
16 / 20
Ejercicio 12Patrón de Asteriscos
for fila in range(1, 6):
    for col in range(fila):
        print("*", end="")
    print()  # salto de línea
💡
end="" suprime el salto de línea de print().
* ** *** **** *****
17 / 20
Compararfor vs while
bucleusar cuando…ejemplo típico
for Sabés cuántas veces repetir Tabla de multiplicar, lista
while No sabés cuántas repeticiones Pedir datos hasta que el usuario diga 0
🎯
Si podés usar range(), usá for. Si dependés de una condición del usuario, usá while.
18 / 20
PrácticaPromedio de Notas
n    = int(input("¿Cuántas notas vas a ingresar? "))
suma = 0
for i in range(1, n + 1):
    nota  = float(input(f"Nota {i}: "))
    suma += nota
promedio = suma / n
print("Promedio:", round(promedio, 2))
if promedio >= 60:
    print("✅ Aprobado")
else:
    print("❌ Reprobado")
Combina for + acumulador + condicional — todo lo visto en las últimas dos sesiones.
19 / 20
ResumenLo Aprendido Hoy
bucle for
for i in range(inicio, fin, paso):
    # bloque repetido
bucle while
while condición:
    # bloque repetido
patrones clave
# Acumulador
suma += i

# Contador
cont += 1

# break → salir
# continue → saltear
Próxima sesión: Listas — [ ]
20 / 20