Construyendo el camino de un programa con condicionales

<aside> 📄 Los programas no suelen ir siempre en camino recto, depende de las condiciones, aquí entran los condicionales. Si es "esto" haz aquello, si no es esto haz esta otra cosa, etc.

</aside>

#Si la variable numero es mayor a 6, imprime el string es mayor a 5.
if numero > 6:
print("Es mayor a 6")

#Si la variable numero NO ES mayor a 4, imprime el string es menor a 4.
elif numero < 4:
print("Es menor a 4") 
#Si la variable numero es de cualquier otro valor , imprime el string tiene 5 años
else:
print("tiene 5 años")

<aside> 📄 Después de poner después de un condicional entre otros tipos de dato : en python y luego poner enter siempre deben quedar 4 espacios o si no algo está mal.

</aside>

[*"elif" sirve para enlazar varios "else if", sin tener que aumentar las tabulaciones en cada nueva comparación](https://www.aprendeaprogramar.com/referencia/view.php?f=elif&leng=Python#:~:text="elif" sirve para enlazar varios,varios casos con "elif".)* el nombre proviene de la unión de las palabras else e if.


Varios países en mi conversor de monedas

menu = """
 Bienvenido al conversor de monedas

 1 - Pesos colombianos
 2 - Pesos argentinos
 3- Pesos mexicanos

Elige una opción: """

opcion = input(menu)

if opcion == "1":
    pesos = input("¿Cuántos pesos colombianos tienes?: ")
    pesos = float(pesos)
    valor_dolar = 3875
    dolares = pesos / valor_dolar
    dolares = round(dolares, 2)  
    dolares = str(dolares)
    print("Tienes $" + dolares + " dólares")
elif opcion == "2":
    ars = input("¿Cuántos ars$ tienes?: ")
    ars = float(ars)
    precio_dolar = 140
    dolar = ars / precio_dolar
    dolar =round(dolar, 2)
    dolar = str(dolar)
    print("Tienes $" + dolar + " dolares") 
elif opcion == "3":
    mx = input("¿Cuántos pesos mexicanos tienes tienes?: ")
    mx = float(mx)
    precio_dolar = 24
    dolar = mx / precio_dolar
    dolar =round(dolar, 2)
    dolar = str(dolar)
    print("Tienes $" + dolar + " dolares") 

else:
    print("Ingresa una opción correcta por favor")

Los condicionales pueden ser muy útiles, pero para no repetir tanto código con la misma lógica, y hacer el código mucho más largo, existen las funciones.


Aprendiendo a no repetir código con funciones

<aside> 📎 Las funciones sirven para ahorrarse escribir varios bloques de código con la misma lógica, se podría decir funciones son como grandes variables que tiene al bloque de código como tipo de dato.

</aside>

def es el comando que se usa para crear la función luego va el nombre de la función (los nombres usan la misma regla que los nombres de variable) (parametros): y luego el bloque de código. por ejemplo: ————————>

Como en una especie de estructura gramatical sería algo así:————————>

Los parámetros son la parte del bloque de código que puede variar; usando de ejemplo la misma función:

def imprimir_mensaje():
    print("hola")
    print("hi") 
   

def + nombre_de_la_funcion + (parametros): + bloque_de_codigo

def imprimir_mensaje(nombre):
    print("hola", nombre)
    print("hi")

imprimir_mensaje(nombre= input("¿Cual es tu nombre?: "))

<aside> 📎 Las funciones es un concepto base, algo fundamental, que te vas a encontrar en gran parte del resto de los lenguajes de programación (si no en todos)

</aside>


Modularizando nuestro conversor de monedas

La instrucción return indica el final de la función pero también el valor que devuelve la función. La ejecución del programa continúa tras la llamada a la función.

def conversor(tipo_pesos, valor_dolar):
    pesos = input("¿Cuántos pesos" + tipo_pesos +  "tienes?: ")
    pesos = float(pesos)
    dolares = pesos / valor_dolar
    dolares = round(dolares, 2)  
    dolares = str(dolares)
    print("Tienes $" + dolares + " dólares")

menu = """
 Bienvenido al conversor de monedas

 1 - Pesos  
 2 - Pesos argentinos
 3- Pesos mexicanos

Elige una opción: """

opcion = int(input(menu))

if opcion == "1":
    conversor("colombianos", 3875)
elif opcion == "2":
    conversor("argentinos", 145)
elif opcion == "3":
    conversor("mexicanos", 24) 

else:
    print("Ingresa una opción correcta por favor")

Y así, con los condicionales, y las funciones se puede hacer un código mas corto y mas útil.