• 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
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Calculadora XIRR con Flujos Irregulares
      • Simulador FIRE (Financial Independence, Retire Early)
    • Negocios
      • CLV
      • Scoring
    • Herramientas
      • Formateador / Minificador de JSON
      • Conversor CSV ↔ JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • 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.

1200 publicaciones en Analytics Lane
En Analytics Lane
1200 publicaciones en Analytics Lane

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

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.

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.

Publicidad


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.

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).

Publicidad


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

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

  • 1200 publicaciones en Analytics Lane
  • Analytics Lane lanza su Conversor TIN ↔ TAE: la herramienta definitiva para entender el coste real de depósitos, préstamos e hipotecas
  • Analytics Lane lanza su Conversor de Bases Numéricas: entiende cómo trabajan los ordenadores a nivel de bits
  • Analytics Lane lanza su Visualizador de Series Temporales: entiende tendencia, estacionalidad y ruido de forma visual e interactiva
  • Analytics Lane lanza un nuevo Formateador y Tester de Expresiones Regulares para desarrolladores
  • Analytics Lane lanza un Conversor CSV ↔ JSON para transformar datos en tiempo real
  • Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring
  • Analytics Lane lanza una Calculadora de Rentabilidad con Flujos Irregulares basada en TIR (XIRR)
  • ¡Analytics Lane cumple ocho años!

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.

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
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Ley de Benford: cómo detectar datos manipulados con ejemplos reales

mayo 28, 2026 Por Daniel Rodríguez

Subplots en Matplotlib: cómo organizar múltiples gráficos en una sola figura

mayo 26, 2026 Por Daniel Rodríguez

Síndrome del objeto brillante en ciencia de datos: el error simétrico a los costes hundidos

mayo 21, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Entendiendo las Cópulas en estadística publicado el junio 7, 2024 | en Ciencia de datos
  • Copiar y pegar Activar copiar y pegar en VirtualBox publicado el mayo 1, 2019 | en Herramientas
  • Ratios para evaluar fondos de inversión y ETFs: Sharpe, Sortino, Treynor y Alpha de Jensen publicado el marzo 7, 2025 | en Ciencia de datos
  • Cómo desinstalar Oracle Database 19c en Windows publicado el noviembre 25, 2022 | en Herramientas
  • Seleccionar la opción para compactar la base de datos en Microsoft SQL Server Manager Studio Reducir el tamaño en SQL Server de una base de datos publicado el febrero 10, 2023 | en Herramientas

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

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

4.1 (11)

Aplicar el método D’Hondt en Excel

Comentarios recientes

  • bif en JSON en bases de datos: cuándo es buena idea y cuándo no
  • bif en Cómo desinstalar Oracle Database 19c en Windows
  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria

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-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto