# Empezando MicroPython de Alvik

<p class="callout success"><span style="color: rgb(0, 0, 0);">Inspirado en el esquema del [tutorial MicroPython Basics ](https://docs.arduino.cc/micropython/basics/micropython-basics/)autora Francesca Sanfilippo &amp; Karl Söderby</span></p>

Hemos visto la función **print** visualiza un mensaje en la cónsola :

```python
print('Hola mundo !')
```

Podemos introducir una **variable**, frase que contenga el texto, la función **time.sleep(**segundos) que hace una pausa, (para utilizar esta función se necesita importar la librería time con **import time** ) y dentro de un **bucle while** que se ejecuta mientras sea verdadero lo que le sigue, en este caso while True se ejecutará siempre:

```python
import time    
frase = "Hola mundo !!"
 
while True:
   print(frase)   
   time.sleep(1)
```

Aquí se utiliza

- una **función** con **def** una variable contador que en la función se declara **global** de esta manera se puede utilizar dentro de cualquier función del programa (en este caso el programa principal la funcion\_contar().
- Vemos la típica operación de cuenta contador = contador + 1
- print visualiza dos cosas, la frase y el contador

```python
import time

frase = "Hola mundo "
contador = 0

def funcion_contar():
    global contador
    contador = contador + 1

while True:
    funcion_contar()
    print(frase, contador)
    time.sleep(1)
```

El resultado:

[![2024-06-15 07_32_00-Arduino Lab for MicroPython.png](https://libros.catedu.es/uploads/images/gallery/2024-06/scaled-1680-/2024-06-15-07-32-00-arduino-lab-for-micropython.png)](https://libros.catedu.es/uploads/images/gallery/2024-06/2024-06-15-07-32-00-arduino-lab-for-micropython.png)

Aquí utilizamos el **condicional if**  con su auxiliar  **else** y la función **exit** para acabar el programa:

```python
import time

frase = "Hola mundo "
contador = 0
maximo = 20

def funcion_contar():
    global contador
    contador = contador + 1

while True:
    funcion_contar()
    if contador>20 :
      exit
    else :
      print(frase, contador)
      time.sleep(1)
```

Lo que provoca que a los 20 finalice

[![2024-06-15 07_44_37-Arduino Lab for MicroPython.png](https://libros.catedu.es/uploads/images/gallery/2024-06/scaled-1680-/2024-06-15-07-44-37-arduino-lab-for-micropython.png)](https://libros.catedu.es/uploads/images/gallery/2024-06/2024-06-15-07-44-37-arduino-lab-for-micropython.png)

Podemos usar en vez de variables numéricas, variables tipo **array** para los bucles :

```python
Catedu = ['Javier', 'Santiago', 'Silvia', 'Berta', 'Cristina', 'Nacho', 'Arturo', 'Chefo', 'Vladi', 'Ruben', 'Pablo', 'JuanFran']

def printCatedus():
    for persona in Catedu:
        print(persona)

printCatedus()
```

[![2024-06-15 07_51_00-Arduino Lab for MicroPython.png](https://libros.catedu.es/uploads/images/gallery/2024-06/scaled-1680-/2024-06-15-07-51-00-arduino-lab-for-micropython.png)](https://libros.catedu.es/uploads/images/gallery/2024-06/2024-06-15-07-51-00-arduino-lab-for-micropython.png)

Con esto ya podemos avanzar, pero si quieres[   ](https://drive.google.com/file/d/1pUxzeBBbpskfIHHtlH68zrOPEIFKR_vE/view?usp=sharing)