Ejemplos
Operadores de incremento
+=
-=
*=
/=
//=
%=
Utilizar a += b
es equivalente a escribir a = a + b
. El uso de los otros operadores es análogo, por ejemplo, a *= b
equivale a a = a * b
...
¿Qué realizan los siguientes códigos?
¿Cuántas veces se ejecuta este ciclo?
i = 0
while i < n:
print(i)
Solución
Es un ciclo infinito ya que no se modifica i
.
¿Qué realiza este ciclo?
i = 0
while i < n:
print(i)
i += 1
Solución
Se ejecuta n
veces, desde 0
hasta n-1
.
¿Qué realiza este ciclo?
i = 1
while i <= n:
print(i)
i += 1
Solución
También se ejecuta n
veces, pero desde 1
hasta n
.
¿Cuántas veces se ejecuta el siguiente ciclo?, ¿Para qué sirve?
n = int(input('n: '))
while n <= 0:
n = int(input('n: '))
Solución
Se ejecutará tantas veces como se ingresen valores negativos. Sirve para asegurar el ingreso de \(n \geq 0\).
¿Qué problema tiene? ¿Cómo lo arreglamos?
El siguiente ciclo intenta imprimir todos los números impares entre \(1\) y \(100\):
i = 1
while i != 100:
print(i)
i += 2
Solución
El problema es que se salta la condición del while
. Se puede arreglar utilizando while i <= 100
.
¿Qué problema tiene el siguiente programa?
# Programa que suma 5 números
i = 1
while i <= 5:
suma = 0
num = int(input('Ingrese un número: '))
i += 1
suma += num
print(suma)
Solución
El problema es la inicialización de suma
, ya que se inicia en 0
en cada iteración.
¿Qué problema tiene el siguiente programa?
# Programa que cuenta cuántos números pares se ingresan
i = 1
contador = 0
while i <= 50:
num = int(input('Ingrese un número: '))
if num % 2 == 0:
contador += 1
i += 1
Solución
El problema es que el incremento está fuera del ciclo.
¿Qué problema tiene el siguiente código?
n = int(input('n: '))
i = 1
while i <= n:
linea = str(i) + ': '
while j <= n:
linea = linea + str(i * j) + ' '
n += 1
print(linea)
Este programa debería imprimir una tabla cuadrada con los múltiplos hasta el número ingresado como entrada, por ejemplo:
n: 5
1: 1 2 3 4 5
2: 2 4 6 8 10
3: 3 6 9 12 15
4: 4 8 12 16 20
5: 5 10 15 20 25
Solución
n = int(input('n: '))
i = 1
while i <= n:
j = 1 # FALTABA
linea = str(i) + ': '
while j <= n:
linea = linea + str(i * j) + ' '
j += 1 # CORREGIDO: confundía n con j
print(linea)
i += 1 # FALTABA