3 Bucles Python
3 Bucles Python
com/ejercicios-de-bucles-en-python/
Objetivos
Entender el uso de range()
Principios de la estructura del for
El for iterable
El uso de While
While vs For: Breve análisis y cuando usar cada una
Errores comunes
Bucle For
for i in range(5):
print("Iteración", i)
# El código print() es ejecutado varias veces, donde i pasa a valer, en distinta
# Una vez llega al valor máximo, sigue el código.
In [ ]: suma = 0
for i in range(1, 101):
#print(i)
suma += i # A esto lo llamamos sobrecarga. Es exactamente igual que hacer su
#print(suma, i)
print("La suma total es:", suma)
# Descomenta los print() para entender lo que está pasando... Juega a bajar el n
For iterable
Otro uso común hilado con los temas posteriores (Listas y Textos) es
utilizar el for con elementos iterables / colecciones. Por ahora, ejecútalo
y observa cómo se puede utilizar:
In [ ]: # Segundo uso típico de For: X pasa a ser cada elemento de dentro de 'cursos'.
# Igual que antes, comienza en el primer elemento y termina en el último:
In [ ]: contador = 1
# Los códigos se ejecutarán si es True la condición. Juega con contador a coloca
while contador <= 5:
print("Contador:", contador)
contador += 1
In [ ]: suma = 0
numero = 2
while numero <= 10:
suma += numero
numero += 2
Haz lo siguiente:
En esa web programaba con los alumnos las primeras veces, es fiable. Ejecútalo y verás lo
que sucede al de un rato. La web caerá...:
In [ ]: a = 1
while(True):
a += 1 # Es lo mismo que a = a + 1...
print(a)
Moraleja: Cuidado con los bucles while. Asegúrate de que la condición no se quede
siempre a cierto, sino, tendrás un efecto parecido al de arriba :)
Ejercicios resueltos
In [ ]: #Ej1.
In [ ]: #Ej2.
# 5! = 5 * 4 * 3 * 2 * 1
n = int(input('Dame el valor del factorial a calcular...'))
base = 1 #Colocamos a 1 porque algo * 1 es ese mismo número.
for i in range(1, n + 1):
base *= i
print(base)
In [ ]: #Ej3.
num = 1
num1 = 0
num2 = 1
n = int(input('Dime el valor de N...'))
In [ ]: #Ej5.
In [ ]: #Ej6.
In [ ]: #Ej7.
In [ ]: #Ej8.
import math
# Calcular la hipotenusa
hipotenusa = math.sqrt(cateto1**2 + cateto2**2)
# Mostrar el resultado
print("La hipotenusa es:",hipotenusa)
In [ ]: #Ej9.
import math
In [ ]: #Ej10.
while(vidaA > 0 and vidaB > 0): #Bucle de combate por turnos...
if(turno == 1): #Si 1 entonces ataque de B que resta a la vida de A.
vidaA = vidaA - ataqueB
else:
vidaB = vidaB - ataqueA
turno = turno * (-1) # 1 * (-1) = -1. Cambio de turno en el bucle. #Siguient
print('Vida de A:',vidaA, 'Vida de B:',vidaB)
time.sleep(2) #El sistema se detiene 2 segundos para ver el progreso del com
# Y así hasta que no sea cierto que ambos estén vivos. Todo lo anterior está
if(vidaA > 0):
print('Ha ganado A')
else:
print('Ha ganado B')