• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • Python
  • Pandas
  • NumPy
  • Matlab
  • Julia
  • JavaScript
  • Excel

Bucles en Julia (4ª parte – ¡Hola Julia!)

julio 23, 2020 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 5 minutos

Hoy vamos a como implementar bucles en Julia y la selección con switch. Los bucles que podemos implementar en Julia, al igual que en el resto de los lenguajes, son básicamente dos for y while. Aunque ya hemos visto el segundo en la entrada anterior.

Los bucles for en Julia

Al igual que nos suele en otras ocasiones la sintaxis de los bucles for en Julia es similar a la de Matlab. Simplemente se escribe la palabra for, seguida de una variable, el comando in o = y los valores sobre los que se desea iterar. Escribiendo el primero, dos puntos y el último. Remitiéndose el código que se escriba hasta que se encuentre el comando end. Así para imprimir los números de 1 a 10 solamente se tiene que escribir.

for i in 1:10
    println(i)
end

En Julia se puede escoger entre usar in o = entre la variable y los valores sobre los que se itera. Aunque es aconsejable usar in. Por otro lado, si se quiere iterar en pasos diferentes, solamente se tiene que indicar los pasos entre el primer y el último valor. Así para escribir los números entre 1 y 10 de cuatro en cuatro se puede usar el siguiente comando.

for i in 1:4:10
    println(i)
end

Los valores sobre los que se desea iterar no tienen porque estar ordenados, sino que pueden indicar en un vector fácilmente.

for i in [1, 4, 2]
    println(i)
end

El bucle for no tiene porque iterar sobre números, también lo puede hacer sobre cadenas de texto, evaluando en cada uno de los pasos un carácter. Por ejemplo, se pueden escribir los carates de la palabra hola con el código

Publicidad


for i in "Hola"
    println(i)
end

Una cosa importante para los usuarios que vienen de Matlab es que la variable i que se usa en el bucle no está definida fuera de el. Esto es, si llamamos a i tendremos un error ya que Julia nos dirá que i no esta definido. Algo que nos puede dar una pista de cómo gestiona el alcance de las variables Julia.

Los bucles while en Julia

Otra de las estructuras más utilizadas para iterar sobre valores es while. El este caso el código se repite mientras se cumpla una condición. La forma básica de este comando es escribir while seguido de una condición lógica. En caso de que esta sea cierta se ejecuta el código hasta que se encuentra la palabra reservada end. Por otro lado, en el caso de que no sea cierta se sigue con el programa después del end. Por ejemplo, para imprimir los números entre 1 y 10 se puede hacer con

i = 0
while i < 10
    println(i+=1)
end

En este caso se inicializa la variable i a 0. En el bucle while se comprueba si i es menor que 10, en el primer caso es afirmativo, por lo que se ejecuta el código de impresión. En este se aumente cada vez un valor 1 antes de imprimir por pantalla, por lo que el primer resultados será 1.

A continuación, se vuelve a comprobar si el valor de i es menor de 10, cómo continúa siendo cierto, se vuelve a ejecutar el código. Lo que se repite 10 veces hasta que i es igual a 10.

Es importante recordar que en los bucles while es necesario actualizar el valor de la variable o variables empleadas en la comprobación durante la ejecución. Tanto sea de forma algorítmica como leyendo la información de otras fuentes. Ya que en caso contrario el código terminará en un bucle infinito. Lo que no es lo deseable en la mayoría de los casos.

Publicidad


En otros lenguajes existe una estrucutra que generalmente se llama do...while en la que siempre se ejecuta una vez el código. Algo que actualmente no soporta Julia de forma nativa.

Saliendo de los bucles break y continue

Hay dos comandos con los que es posible modificar el comportamiento de tanto de los bucles for como while: break y continue. El comando break para la ejecución del código dentro del los bucles y continúa con la ejecución después de estos. Por ejemplo:

for i in 1:10
    if i > 5
        break;
    end
    println(i)
end

Este código solamente imprime los valores entre 1 y 5, no ente 1 y 10. Porque una vez que el valor de i es 6 mediante break se le indica a Julia que no es necesario continuar evaluando el bucle.

Por otro lado continue lo que hace es detener la ejecución de la iteración actual, pero continúa en el siguiente valor. Por ejemplo, el siguiente código imprime solamente los valores entre 5 y 10.

for i in 1:10
    if i < 5
        continue;
    end
    println(i)
end

El uso de continue evita que se evalúe el comando println cuando i es menor que 5, pero el bucle no se interrumpe.

Publicidad


Es importante saber que tanto break como continue se pueden usar también en los bucles while.

Anidando bucles for y while

Como en otros lenguajes no existe ningún problema para incluir un bucle for dentro de otro o de uno while. Aplicando lo mismo para los while. Julia sabrá reconocer que end corresponde con que for owhile

for i in 1:10
    for j = 1:10
        println(i, j)
    end
end

Una cosa curiosa, aunque no sea recomendable, es que podemos usar el mismo nombre de variable en el bucle for anidado dentro de otro. En ningún momento Julia confundida el valor de los dos. Aunque nosotros sí que nos podamos confundir.

for i in 1:2
    println("for 1 ", i)
    for i = 1:2
        println("for 2 ", i)
    end
end

Los bucles en Julia

Tras esta introducción a los bucles en Julia podemos ver que no son muy diferentes a los que tenemos en Matlab, R o Python. Aunque existan diferencias en cuanto al alcance de las variables. No es posible acceder a las variables que se usan dentro de un bucle for fuera de ellos. Lo que permite que dos bucles anidados tengan la misma variable sin que esto genere problemas (para Julia no para los usuarios que puedan revisar en código así escrito).

Publicaciones de la serie ¡Hola Julia!

  1. ¡Hola Julia!
  2. Primeros pasos con Julia
  3. Cadenas de texto en Julia
  4. Bucles en Julia
  5. Funciones en Julia
  6. Vectores, tuplas y diccionarios en Julia
  7. Estructuras en Julia
  8. Utilizar los tipos en Julia
  9. Tipos de datos en Julia
  10. Tipos y funciones paramétricos en Julia
  11. Introducción a los DataFrames en Julia
  12. Obtener información básica de los DataFrames de Julia
  13. El tipo de dato Missing de Julia
  14. Columnas en DataFrames de Julia
  15. Filas en DataFrames de Julia
  16. Combinar DataFrames en Julia
  17. Guardar y leer archivos CSV en Julia
  18. Guardar y leer archivos Excel en Julia
  19. Introducción a Genie
  20. Libros sobre Julia

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Publicidad


Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Tipos y funciones paramétricos en Julia (10ª parte – ¡Hola Julia!)
    Tipos y funciones paramétricos en Julia (10ª parte – ¡Hola…
  • Obtener información básica de los DataFrames de Julia (12ª parte – ¡Hola Julia!)
    Obtener información básica de los DataFrames de Julia (12ª…
  • Cadenas de texto en Julia (3ª parte - ¡Hola Julia!)
    Cadenas de texto en Julia (3ª parte - ¡Hola Julia!)
  • ¡Hola Julia!
    ¡Hola Julia!
  • Tipos de datos en Julia (9ª parte – ¡Hola Julia!)
    Tipos de datos en Julia (9ª parte – ¡Hola Julia!)
  • Filas en DataFrames de Julia (15ª parte – ¡Hola Julia!)
    Filas en DataFrames de Julia (15ª parte – ¡Hola Julia!)

Publicado en: Julia

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Publicidad




Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Facebook
  • GitHub
  • Instagram
  • Pinterest
  • RSS
  • Twitter
  • Tumblr
  • YouTube

Publicidad

Entradas recientes

El método de Hare-Niemeyer y su implementación en Python

septiembre 29, 2023 Por Daniel Rodríguez

Redimensionar una partición de disco LVM con espacio no asignado en Linux

septiembre 27, 2023 Por Daniel Rodríguez

¿Cómo saber la versión de Pandas o cualquier otra librería en Python?

septiembre 25, 2023 Por Daniel Rodríguez

Publicidad

Es tendencia

  • ¿Cómo eliminar columnas y filas en un dataframe pandas? publicado el marzo 25, 2019 | en Python
  • La aplicación Auto Py to Exe Creación de un EXE desde un archivo Python en Windows publicado el mayo 16, 2022 | en Python
  • Seleccionar filas y columnas en Pandas con iloc y loc publicado el junio 21, 2019 | en Python
  • ¿Cómo cambiar el nombre de las columnas en Pandas? publicado el mayo 6, 2019 | en Python
  • Gráficos de barras en Matplotlib publicado el julio 5, 2022 | en Python

Publicidad

Lo mejor valorado

4.9 (22)

Seleccionar filas y columnas en Pandas con iloc y loc

4.7 (12)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.6 (15)

Archivos JSON con Python: lectura y escritura

4.5 (10)

Diferencias entre var y let en JavaScript

4.3 (12)

Ordenación de diccionarios en Python mediante clave o valor

Publicidad

Comentarios recientes

  • Daniel Rodríguez en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • Miguel en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • alberto en Resolver problema de credenciales en Bitbucket
  • Pablo en Aplicar el método D’Hondt en Excel
  • Agapito en Creación de un EXE desde un archivo Python en Windows

Publicidad

Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2023 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto