15. Bucles II
Vídeo
Notas personales
Las instrucciones print()
que aparecen en los bucles de tipo for
insertan un salto de línea en cada iteración:
for i in ["Píldoras", "Informáticas", 3]:
print("Hola")
# Hola
# Hola
# Hola
Si deseamos que la impresión se produzca en la misma línea, hemos de declarar adecuadamente el argumento end
de la función print()
:
for i in ["Píldoras", "Informáticas", 3]:
print("Hola", end=" ")
# Hola Hola Hola
Si el elemento a recorrer es una cadena de texto, el bucle for
ejecutará tantas iteraciones como letras tenga esta:
for i in "Alexis":
print(i, end="-")
# A-l-e-x-i-s-
Esta característica nos permite, por ejemplo, programar una primera aproximación a un verificador de direcciones de correo electrónico, que nos indique que una es correcta si alberga una arroba en su declaración:
email = False
for i in "direccion@dominio.com":
if i == "@":
email = True
if email == True:
print("El email es correcto.")
else:
print("El email no es correcto.")
# El email es correcto.
El anterior bloque de código se puede simplificar un tanto:
for i in "direccion@dominio.com":
if i == "@":
email = True
if email:
print("El email es correcto.")
else:
print("El email no es correcto.")
# El email es correcto.
Generemos una versión interactiva de este programa:
def evalua_email(direcc):
email = False
for i in direcc:
if i == "@":
email = True
if email:
print("El email es correcto.")
else:
print("El email no es correcto.")
direcc = input("Introduce tu dirección de correo electrónico: ")
evalua_email(direcc)
Podemos ampliar la función de verificación de correos electrónicos para que compruebe si también hay un carácter .
en la cadena de texto:
def evalua_email(direcc):
arroba = False
punto = False
for i in direcc:
if i == "@":
arroba = True
if i == ".":
punto = True
if arroba and punto:
print("El email es correcto.")
else:
print("El email no es correcto.")
direcc = input("Introduce tu dirección de correo electrónico: ")
evalua_email(direcc)
Veamos el uso del tipo range
en combinación con el bucle for
:
for i in range(5):
print(i)
# 0
# 1
# 2
# 3
# 4
Código fuente
El código fuente y los posibles ficheros externos generados correspondientes a esta lección se encuentran disponibles para su consulta en la carpeta /lecciones/15/
del
repositorio.