No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Básico de Python

Curso Básico de Python

Facundo García Martoni

Facundo García Martoni

Aprendiendo a no repetir código con funciones

16/32
Recursos

Las funciones ayudan a optimizar el código. Es decir, utilizar la menor cantidad de líneas dentro del código y evitar escribir acciones repetitivas.

Esto nos sirve para entregar un código más limpio y con buenas prácticas, que no desperdicia recursos innecesariamente. En Python, para definir funciones empleamos def.

Gracias a def, podemos “definir” funciones que emplearemos más tarde. Una función, en programación, es un grupo de instrucciones con un objetivo en particular y que se ejecuta cuando es “invocada”.

Cuando la definimos, estamos dándole un conjunto de instrucciones o un algoritmo. Al ahorrar líneas de código con funciones logramos también que la legibilidad de este sea más fácil.

Cómo usar def en Python

def nombredelafuncion():
    # instrucciones de la función

Ejemplo de funciones con def en Python

def conversacion(opcion):
    print('Hola')
    print('Cómo estás')
    print('Elegiste la opcion: ' + str(opcion))
    print('Adiós')

opcion = int(input('Ingrese una opción (1, 2, 3): '))

if opcion == 1:
    conversacion(opcion)

elif opcion == 2:
    conversacion(opcion)

elif opcion == 3:
    conversacion(opcion)

else:
    print('Escribe una opción correcta.')

Ignacio Crespo, Willy Corzo, Ángel Viñamagua

Aportes 669

Preguntas 114

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

esta clase es muy importante … siempre es bueno reutilizar y ahorrar código … pero recuerden también que nosotros programamos para que otros vean nuestro código por lo que también es importante que sea fácil de entender…

-salu2s

Cordial saludo comunidad

Dada la importancia de una definición de los términos vistos en clase, quiero compartirles un slide que construí con base en la información depositada https://www.py4e.com

Espero les sea de utilidad.

Cualquier aporte o comentrario adicional con gusto será recibido.

Slds.

Con esta clase corregi el conversor de monedas de esta forma

![]()

Explicación:
Gracias a def, podemos “definir” funciones. Una función, en programación, es un grupo de instrucciones con un objetivo en particular y que se ejecuta cuando es “invocada”. Cuando al definimos, estamos dándole un conjunto de instrucciones o un algoritmo. La razón por la que existen las funciones es para ahorrar lineas de código y que la legibilidad de éste sea más fácil, cómo has visto en el curso.

Este es mi resumen de la clase, espero que le pueda servir a alguien.

<h3>Hola a todos, les comparto cómo pueden comentar todas las línes en verisones más recientes:</h3>
  • “Ctrl+k Ctrl+c”

Estos comandos los deben de escribir seguidos para comentar varias líneas de código, además en configuración podrán acceder a todos los shortcuts, e incluso modificarlos a su gusto.


<h4>Espero que les haya servido, ¡Éxito! 😀</h4>

![](

DATO para MAC:

Para seleccionar varias lineas como comentario:
Comillas dobles: shift + option + A
Entre numerales: shift + comand + /

Funciones codigo que puedes reutilizar.

Las funciones se construyen de la siguiente manera:

  • **def ** nombre_funcion():
    desarrollo de la funcion.

  • Los nombres de las funciones se escriben siempre en minusculas, nunca con numeros y siempre se separan con guion bajo.

  • Parametros: variables que voy a tener disponibles para usarla dentro de la función.

Agregando múltiples parámetros a la función.

def conversor(trm,nacionalidad):
    pesos = input("¿Cuantos pesos " + nacionalidad + " tienes?:      ")
    pesos = float(pesos)
    dolares = pesos / trm
    dolares = round(dolares, 2)
    dolares = str(dolares)
    print("Tienes $" + dolares + " dólares")    

opcion = input("""

## CONVERSOR DE MONEDAS ##

1- Pesos Colombianos
2- Pesos Argentinos
3- Pesos Mexicanos

""")
if opcion == '1':
    conversor(3600,'colombianos')
elif opcion == '2':
    conversor(85,'argentinos')
elif opcion == '3':
    conversor(24,'mexicanos')
else:
    print('Ingrese una opción valida')```

Aquí les dejo la estructura de la función def

Argumentos se podría entender como Parámetros

se puede reducir aun mas usando f string

def conversacion(opt):
    print('Hola')
    print('Como estas')
    print(f'Elegiste la opcion {opt}')
    print('Adios')

opcion = int(input('Elige una opción (1,2,3): '))

conversacion(opcion)

Explica de una forma muy sencilla las diferentes alternativas que podemos aplicar. Este curso motiva a seguir aprendiendo de programación.

Cuando estoy aprendiendo a programar en un nuevo lenguaje, hago énfasis en aprender como hacer esas cosas que son comunes en todos los lenguajes,

  • Variables y tipos de datos
  • Operadores
  • Estructuras de control
  • Funciones
    Esta forma de ir introduciendo los conceptos de manera progresiva del código en Python me gusta, ademas que este lenguaje lo percibo muy elegante.
    Veo un buen futuro con este lenguaje en mi caso, estoy tratando de aprender para iniciar un proyecto de IA
    Como ha sido su feedback chicos?

Hola, yo lo hice de la siguiente manera, saludos

def conversacion (opcion):
    opcion = str(opcion)
    print('Hola')
    print('Elijiste la opcion ' + opcion)
    print('adios')

opcion = int(input('Elije una opcion (1, 2, 3: '))

if (opcion == 1):
    conversacion(opcion)
elif(opcion == 2):
    conversacion(opcion)
elif (opcion == 3):
    conversacion(opcion)
else: 
    print('Elijiste una opcion invalida')

😝

Comparto mis apuntes:

Para evitar repetir "Elegiste la opcion: " de una vez lo puse en la función:

def conversaciones(mensaje):
    print("Hola")
    print("Elegiste la opcion: " + str(mensaje))
    print("Adios")
    
opcion = int(input("opcion: "))

if opcion == 1:
    conversaciones(opcion)
elif opcion == 2:
    conversaciones(opcion)
elif opcion == 3:
    conversaciones(opcion)
else: 
    print("Elige la opción correcta")

Utilicé la siguiente lógica para evitar repetir el mismo mensaje, en lugar de enviar a la función como parámetro un mensaje (String), envío un número que va a ser el que se va a imprimir.

def conversacion(opcion):
    print('Hola')
    print('Cómo estás')
    print('Elegiste la opcion: ' + str(opcion))
    print('Adiós')

opcion = int(input('Ingrese una opción (1, 2, 3): '))

if opcion == 1:
    conversacion(opcion)

elif opcion == 2:
    conversacion(opcion)

elif opcion == 3:
    conversacion(opcion)

else:
    print('Escribe una opción correcta.')

Para el que no le funciona comentar varias lineas con win10 y visual studio, es: CTRL + K, luego de esto:

**CTRL + c: **comentar
CTRL + u: descomentar.

Los comandos que dice el profe no me sirvieron, estos si.

Los parametros son variables dentro de la función. Se utilizan para que en una parte especifica de la funcion se necesite cambiarla para transmitir un mensaje diferente o se necesite guardar valores diferentes de pendiendo de las diferentes opciones o condiciones.

Mi resumen:

Las funciones ayudan a optimizar el código es decir utilizar la menor cantidad de líneas dentro del código y evitar escribir acciones repetitivas.
Las funciones son definidas por el comando “def”

def funcion():
    # instrucciones

Se puede utilizar parámetros con los cuales se puede modificar parte de la función de acuerdo con las necesidades del código.

def funcion(parametro):
    # instrucciones
    parametro
    #instrucciones

Así lo hice yo, para que sea más optimo 😃

def conversacion():
    print ("Hola")
    print ("Cómo estás")
    print ("Elegiste la opción " + str(opcion))
    print ("Adios")

opcion= int(input("elige una opcion (1, 2, 3):"))
if opcion == 1:
    conversacion()
elif opcion ==2:
    conversacion()
elif opcion == 3:
    conversacion()
else:
    print ("Elige la opción correcta")

Hola, me gustó mucho la clase :3 les dejo una réplica del código de Facundo pero con edades.

Aun no me queda super claro, pero supongo que es cuestión de practica.

Una manera de simplificar el código para no utilizar cuatro veces el print es con \n (Salto de Línea)

def conversacion(mensaje):
print(’ Hola\n’, ‘cómo estás?\n’, mensaje, ‘\n Adios’)

Les comparto un codigo que hice para hacerlo un poco mas corto 😃

opcion = int(input("Elige una opción (1,2,3): "))

def conversacion (mensaje):
    print("Hola")
    print("Como estás?")
    print("Elegiste la opcion " + mensaje)
    print("Adios")

if opcion == 1 or opcion == 2 or opcion == 3:
    conversacion(str(opcion))
else:
    print("Elige una opción correcta")
#def imprimir_mensaje():
 #   print('mensaje especial: ' )
 #   print('estoy aprendiendo a usar funciones')

#imprimir_mensaje()
#imprimir_mensaje()
#imprimir_mensaje()


def conversacion(mensaje):
    print('hola')
    print('como estas')
    print(mensaje)
    print('adios')

opcion  = int(input ('elige una opcion (1,2,3):  '))
if opcion ==1:
    conversacion ('elegiste la opcion 1')
   
elif opcion == 2:
    conversacion ('elegiste la opcion 2')    
    
elif opcion == 3:
    conversacion ('elegiste la opcion 3')
    
else:
    print('escribe  la opcion correcta')```

Muy buenas, tengo un problema y es que cuando estoy en VSC y quiero convertir en texto una serie de lineas de codigo Facundo lo hace con Ctrl + / pero a mi no hay manera de que me funcione. El / lo he probado tanto el signo de division del teclado numerico como la tecla que tiene el 7 i el /.

Tambien tenia otro problema y era que cuando queria introducir un emoji le doy al boton de Windows+. y tampoco le se abren los emojis.

Podeis ayudarme por favor?

Mi version de VSC es la 3.9.0 (64 bit)

También donde dice

conversacion('Elegiste la opcion 1' )

se puede cambiar el numero con la variable

opcion

para que tome el valor que introducimos por teclado

Un pequeño cambio 😛

def conversacion(opcion):
    print('Hola')
    print('Como estas?')
    print('Elegiste la opción ' + str(opcion))
    print('Adios')


opcion = int(input('Elige una opción (1, 2, 3): '))
if opcion == 1:
    conversacion(opcion)
elif opcion == 2:
    conversacion(opcion)
elif opcion == 3:
    conversacion(opcion)
else:
    print('Elige una opción correcta')
ejercicios para practicar funciones https://docs.hektorprofe.net/python/programacion-de-funciones/ejercicios/

Hola, tengo un codigo más simplificado y un poco más facil, s e los dejo aquí:

opcion = str(input("""
Elige una opcion (1, 2, 3)
"""))
def codigo():
    print('Hola')
    print('Como estas')
    print('Elegiste la opcion: ' + opcion)
    print('Adios')

codigo()

😃

(Espero se suba la foto)
Asi lo plantee yo, espero pueda servirle a alguien como ejemplo

este es mi ejercicio con el convertidor de monedas a dolares, trate de no repetirlo mucho:

def imprimir_dolares(valor_moneda):
    dinero_usuario = input("¿Cuántos dinero tienes?: ")
    dinero_usuario = float(dinero_usuario)
    valor_dolar =  valor_moneda
    total_dolares = dinero_usuario / valor_dolar
    total_dolares = round(total_dolares, 2)
    total_dolares = str(total_dolares)
    print("Tienes $" + total_dolares + " dólares.")


mensaje = """
Bienvenido al conversor de monedas 🎈

1 - Pesos Colombianos
2 - Pesos Argentinos
3 - Pesos Mexicanos

Elige una opción en número: 
"""

opcion = int(input(mensaje))

if opcion == 1:
    imprimir_dolares(3875)
elif opcion == 2:
    imprimir_dolares(65)
elif opcion == 3:
    imprimir_dolares(25)
else:
    print("Ingresa una opción correcta.")

Mi modificacion del codigo :3

Shorcuts de comentado e identación
Ctrl + }:
Comentar y descomentar código
Shift + Alt + A:
Comentar código seleccionado con “”"
equivalente a /* */ en otros lenguajes.
Tab: Indentado
Shift + Alt: Desindentado
Saludas 😃

Hay un termino muy usado en programación … cuando hay mucha repetición de lineas de codigo y por tanto se vuelve ilegible se le llama codigo spaguetti … ya creo que adivinaron el porqué se llama asi !

Muy importante la tematica de las funciones, nos ahorra mucho tiempo creando una orden predeterminada para ocuparla las veces que queramos.

Así quedó mi código 😃

def conversacion(mensaje):
    print("Hola")
    print("Como estás?")
    print(mensaje)
    print("Adiós")

opcion = int(input("elige una opción: (1, 2, 3): "))
if opcion == 1:
    conversacion("Elegiste el camino de la muerte")
elif opcion == 2:
    conversacion("Elegiste el camino de la excelencia")
elif opcion == 3:
    conversacion("Elegiste el camino de el éxito")
else:
    print("Escribe una opción correcta")
def destino(ruta):
    print("Felicidades, estas a poco de ir de vacaciones")
    print("ve arreglando las maletas")
    print(ruta)

opcion = """
Escoge tu ruta de vacaciones:

1 - Quito / Guayaquil
2 - Quito / Cuenca
3 - Quito / San Andres

"""

viaje = int(input(opcion))

if viaje == 1:
   destino("que escogiste la ruta: Quito/Guayaquil")
elif viaje == 2:
    destino("que escogiste la ruta: Quito/Cuenca")
elif viaje == 3:
    destino("que escogiste la ruta: Quito/San Andres")
else:
    print("No has seleccionado una ruta valida")

otra forma de realizar el ejemplo del profesor es:

opcion_variable = input('Elige un numero')
print('hola')
print('como estas')
print('elegiste' + opcion_variable)
print('adios')

asi nos evitamos la funcion y el if, lo que acabo de decir realmente no aplica para nada, porque si armamos esa logica no es para cambiar el mensage en 1 caracter, pero igualmente lo queria compartir

Este es mi codigo no se si este bien, pero ami me funciona acepto consejos

menu = “”"
Bienvenido al conversor de Monedas 💰

1 = Euro a Dolar
2 = Dolar a Euro
3 = Euro a Bolviar

Elige una opcion :
"""

def conversor(moneda):
euro = input(“Introduce la cantidad de euros que tienes :”)
euro = float(euro)
valor_euro = 1.20
euro = euro * valor_euro
euro = round(euro,2)
euro = str(euro)
print(“Tienes " + euro + " dolares”)

opcion = int(input(menu))

if opcion == 1:
conversor(“Elegiste euro a dolar”)
elif opcion == 2:
conversor(“Elegiste dolar a euro”)
elif opcion == 3:
conversor(“Elegiste euro a bolivar”)
else:
print(‘Ingresa una opcion correcta por favor’)

Los espacios varian dependiendo de la configuracion que tengamos en nuestro editor, es importante tener en cuenta esto por el examen

def exchanges(moneda,cantidad,moneda_pais,convertor):
    result = cantidad * convertor
    print(f'Los {cantidad} pesos {moneda_pais} equivalen a {result} dolares')

moneda = int(input('''
        Ingresa el indice de la moneda que quieres convertira  dolar:
            [1] Moneda chilena a Dolar
            [2] Moneda colombiana a Dolar
            [3] Moneda argentida a Dolar
            [4] Moneda mexicana a Dolar
        Selecciona: '''))
print('********************************')
cantidad = float(input('Ingresa la cantidad que quieres convertir: '))

if moneda == 1:
    convertor = 0.0013
    moneda_pais = 'chileno'
    exchanges(moneda,cantidad,moneda_pais,convertor)

elif moneda == 2:
    convertor = 0.00027
    moneda_pais = 'colombiana'
    exchanges(moneda,cantidad,moneda_pais,convertor)

elif moneda == 3:
    convertor = cantidad * 0.014
    moneda_pais = 'argentina'
    exchanges(moneda,cantidad,moneda_pais,convertor)

elif moneda == 4:
    convertor = 0.044
    moneda_pais= 'mexicana'
    exchanges(moneda,cantidad,moneda_pais,convertor)

else:
    print('Ingresa solo un numero de la lista')

hola trate de hacer el reto por mi cuenta espero que el codigo sea el correcto

def conversor_moneda(mensaje):
    cantidad = int(input(f"digita {name } el monto de tu moneda "))
    cantidad = float(cantidad)
    valor    = float(mensaje)
    dolar    = cantidad / valor
    dolar    = round(dolar ,3 )
    dolar    = str(dolar)
    print(f" el monto de tu moneda de :{cantidad} --> equivale a {dolar}  ")

def menu():
    print(" Eligige  una de las  opciones")
    print(" 1 para  sol a dolares")
    print(" 2 para sol peso colobiano")


def convercion_saludo(mensaje):
    print(f"he !! BUENA {name} hora  eligiste  la option {mensaje} ")


def saludo_opciones(nombre):
    print(f" hola que tal como estas {nombre} 🤴")
    print("adelante  a convertir  tu moneda local🦼")    


name = input(" cual es su name ")
name =  str(name)

saludo_opciones(name)
menu()

option = int(input(f" hola  {name} digita tu opcion "  ))

if option == 1 :
    convercion_saludo("  1 ")
    conversor_dolar(3.52)
elif option == 2:
    convercion_saludo("2")
    conversor_moneda(0.16)

else:
    print("ELIGE  una opcion valida porfavor")
# coding: utf-8

colombian_pesos = 38578
argentinian_pesos = 70
mexican_pesos = 22

def message(option):
    if option == 1:
        print("your colombian pesos was converted")
    elif option == 2:
        print("your argentian pesos was converted")
    elif option == 3:
        print("your mexican pesos was converted")  
    else:
        print("It is not a right value")  

def money_message(option):
    if option == 1:
        print("Colombian pesos")
    elif option == 2:
        print("Argentian pesos")
    elif option == 3:
        print("Mexican pesos")  
    else:
        print("It is not a right value")
        
               

def dollar_message(dollar):
    print("You will have $ " + dollar+ " dollar")


def conversor(option, money):
        money = float(money)
        if option == 1:
            dollar = money / colombian_pesos 
            dollar = round(dollar, 2)
            dollar = str(dollar)
            dollar_message(dollar)
            
        elif option == 2:  
            dollar = money / argentinian_pesos 
            dollar = round(dollar, 2)
            dollar = str(dollar)
            dollar_message(dollar)

        elif option == 3:
            dollar = money / mexican_pesos 
            dollar = round(dollar, 2)
            dollar = str(dollar)
            dollar_message(dollar)

        else:
            print("No es posibel convertir")    

def money_calculate(option, money):
    if option == 1:
        conversor(option,money)
        message(option)
    elif option == 2:
       conversor(option,money)
       message(option)
    elif option == 3:
       conversor(option,money)
       message(option)
    else:
        print("Opcion, no valida")

menu = """ 

Welcomte to monet conversor 

1 - Colombian Pesos
2 - Argentinian Pesos
3 - Mexican Pesos 

Choose an option: 

"""

if __name__ == "__main__":
    option = int(input(menu))
    money_message(option)
    money = int(input("How many pesos do you want to convert? "))
    money_calculate(option, money)```
""" def imprimirMensaje():
    print("Mensaje especial")
    print("Estoy aprendiendo a usar funciones")

imprimirMensaje()
imprimirMensaje()
 """

def conversacion(mensaje):
    print("Hola")
    print("Como estas?")
    print(f"Elegiste la opcion {mensaje}")
    print("Adios")

opcion = input("Elige una opcion (1, 2, 3): ")

if opcion == '1':
    conversacion(1)
elif opcion == '2':
    conversacion(2)
elif opcion == '3':
    conversacion(3)
else:
    print("Escribe una opcion correcta")

I did this:

def conversacion(mensaje):
    print('Hola')
    print('¿Cómo estás?')
    caracter = 'Elegiste la opcion:'
    print("{} {}". format(caracter, str(mensaje)))
    print('Adiós')

opcion = int(input('Elige una opción (1, 2, 3)'))
if opcion == 1:
    conversacion(opcion)
elif opcion == 2:
    conversacion(opcion)
elif opcion == 3:
    conversacion(opcion)
else:
    print('Escribe la opcion correcta')

Comentarios?

Puedes evitar las condicionales y repetir el mensaje si generas el mensaje dentro de tu función y pasas como parámetro la opción elegida

def conversacion(opcion):
    print("Hola")
    print("Como estas")
    print("Elejiste la opción :" + opcion )
    print("Adios")


opcion = input("Elige una opción (1, 2, 3): ")

conversacion(opcion)

COLOCAR PARAMETROS EN FUNCIONES

def saludo(mensaje):
print(“HOLA COMO ESTAS”)
print(“QUE TAL”)
print(mensaje)

opcion = int (input(‘ELIGE UNA OPCION (1,2,3)’))
if opcion == 1:
saludo(‘ELEGISTE LA OPCION 1’)

elif opcion == 2:
saludo(‘ELEGISTE LA OPCION 2’)

elif opcion == 3:
saludo(‘ELEGISTE LA OPCION 3’)

else:
print(“ELIGE OPCION CORRECTA”)

Conversor con funciones

def convert(pesos, valor_dolar):
    dolares = pesos / valor_dolar
    dolares = round(dolares, 2) # tomar solo 2 decimales
    dolares = str(dolares)
    print("Valor en dolares: $" + dolares)

menu = """
Bienvenido al conversor a dolares

1.- Pesos Colombianos
2.- Pesos Argentinos
3.- Pesos Mexicanos

eliga su moneda local: """

opcion = int(input(menu))

if opcion == 1:
    pesos = input("Ingrese la cantidad en pesos Colombianos: ")
    pesos = float(pesos)
    convert(pesos, 3875)
elif opcion == 2:
    pesos = input("Ingrese la cantidad en pesos Argentinos: ")
    pesos = float(pesos)
    convert(pesos, 98)
elif opcion == 3:
    pesos = input("Ingrese la cantidad en pesos Mexicanos: ")
    pesos = float(pesos)
    convert(pesos, 20)
else:
    print("Opcion invalida...")

Ahi humildemente haciendo algunos cambios

menu = input(
    """ 
    **********************
    BIENVENIDOS
    Elige un producto
    1. Computadora
    2. Celular
    3. Television

    Ingresa un numero: """
)

menu = int(menu)


def conversacion(opcion, valor):
    valor = str(valor)
    print("Hola")
    print("El precio de tu " + opcion + " es " + valor)
    print("Un gusto. Vuelva de nuevo")
    print(
        """
        **************************
        FIN DEL PROGRAMA
    """
    )


if menu == 1:

    conversacion("computadora", 500)
elif menu == 2:

    conversacion("celular", 450)
elif menu == 3:

    conversacion("Television", 650)
else:
    print("Ingresa un numero valido")

Si quieren repasar un poco más las funciones, acá un link

Soy el único impactado por aprender esto ?

✨ Ahora empezaremos a aplicar el mensaje de divide y vencerás.

Mis Ejemplos son muy prácticos jejej

                             Terminal 

Python % python3 funciones.py

Elige una opción de almuerzo(1, 2, 3): 3

Combo de Sandwiches 🥪🍟🥤

Delicioso cordero y jamon con delicioso queso mozzarella, con salsas al gusto, verduras y pan tajado

Papas casco con salsa BBQ y gaseosa
Incluye helado  al gusto.
Disfruta Mucho! 😂😅🥰 

Python % python3 funciones.py

Elige una opción de almuerzo(1, 2, 3): 2

Combo de Hamburguesa 🍔🍟🍦🥤

Jugosa carne 100% de res de 125g con delicioso queso mozzarella, verduras y pan de papa

Papas casco con salsa BBQ y gaseosa
Helado de Vainilla incluido con el combo
Disfruta Mucho! 😂😅🥰 

Python % python3 funciones.py

Elige una opción de almuerzo(1, 2, 3): 1

Combo de HotDog 🌭🍟🥤

Es un alimento en forma de bocadillo que se genera con la combinación de  salchicha Americana (hervida o frita)
Queso doble crema con salsas de tomate, rosada, mayonesa y mostaza, con huevo corvoniz y papas fosforito repartidas por encima del alimento.

Gaseosa y papas casco con salsa BBQ
Disfruta Mucho! 😂😅🥰 

Python % python3 funciones.py

Elige una opción de almuerzo(1, 2, 3): 4

Te figuro almorzar Ensalada 🥗🍰🥤 por equivocarte.

Ensalada con 154 g de pechuga de pollo, tocineta, huevo, jamón, queso mozzarella, aguacate, tomate, maíz, lechuga y aderezo 

Papas casco con salsa BBQ y agua o gaseosa
Incluye Malteada si gustas.
Disfruta Mucho! 😂😅🥰 

Python % ...

Bueno, con lo visto en esta clase busque aplicarlo al ejemplo con el que venimos trabajando. Este fue mi resultado:

def conversor(a, b):
    pesos = float(input(a))
    dolar = b
    dolares = pesos / b
    dolares = round(dolares, 2)
    dolares = str(dolares)
    print('Tienes $' + dolares + ' dolares')

seleccion = int(input("""
Bienvenido al conversor de moneda. Elige una divisa a convertir en dolares: 
Opcion 1: Pesos colombianos
Opcion 2: Pesos argentinos
Opcino 3: Pesos mexicanos
"""))

if seleccion == 1: 
    conversor('¿Cuantos pesos colombianos tenes?', 3875)
elif seleccion == 2: 
    conversor('¿Cuantos pesos argentinos tenes?', 217)
elif seleccion == 3: 
    conversor('¿Cuantos pesos mexicanos tenes?', 24)
else: 
    print('Por favor, elige una de las opciones indicadas')

compañeros les comparto una forma de hacer el ejercicio utilizando operadores de tipo or

Me esta ocurriendo que no colocaba los cometarios. EN mi consulta encontre que:

  1. Ctrl + K Ctrl + C “coloca el # de comentario”
  2. Ctrl + K Ctrl + U “Quita el # de comentario”

https://es.stackoverflow.com/questions/64854/cómo-comentar-las-líneas-seleccionadas-en-vscode#:~:text=Los atajos de teclado de VSCode para comentar,A - Añadir o eliminar bloque de comentario.

Otra manera de hacerlo compañeros

def run():
    opcion = input("""Hola ingresa una de las siguientes opciones: 1 - 2 - 3:
    """)
    if opcion == 1 or 2 or 3:
        print('Hola')
        print('Como estas')
        print('Eligiste la opcion ' + str(opcion))
        print ('Adios')
    else: 
        print('La opcion es incorrecta')

if __name__ == '__main__':
    run()

Así dejé mi codigo.

def options(option):
    print("Hola")
    print("¿Cómo estás?")
    print("Elegiste la poción " + str(option))
    print("Adios")

option = int(input('Elige un opción (1,2,3): '))

if option == 1:
    options(option)
elif option == 2:
    options(option)
elif option == 3:
    options(option)
else:
    print("Opción NO válida")

No es necesario usar tantos print, con el backslash seguido de la letra n se introducen saltos de línea “\n”

def conversacion(mensaje):    
    print("Hola como estas?" + "\n" + mensaje + "\nAdios!")
    
opcion = input("Elige una opción (1, 2, 3): ")

if opcion == "1":
    conversacion("Elegiste la opción " + opcion)
elif opcion == "2":
    conversacion("Elegiste la opción " + opcion)
else:
    conversacion("Elegiste la opción " + opcion)

Hola compañeros. Un pequeño dato por si les pasa algo parecido.
En esta clase el profesor Facundo utiliza comillas simples (’ ') dentro del print(), yo estaba siguiendo el código al pie de la letra y cuando lo fui a ejecutar no me salió nada. Pasé un par de horas consultando foros y probando otras cosas y nada funcionaba. Decidí seguir con la clase y viendo la segunda parte se me ocurrió que tal vez el problema eran las comillas, así que cambié el texto para que estuviera dentro de comillas dobles (" ") y ya todo funcionó.
Sé que parece algo sin importancia, pero espero que le pueda ahorrar tiempo a alguien que presenté el mismo inconveniente.
Saludos.

menu = """
Bienvenido al conversor de monedas

¿Que moneda deseas cambiar?

1 - Pesos Colombianos
2 - Pesos Argentinos
3 - Pesos Chilenos

Elige una opcion: """



def conversion(moneda, valor_dolar):
    pesos = float(input("¿Cuantos pesos " + str(moneda) + " quieres convertir? : "))
    dolares = str(round(pesos/int(valor_dolar)))
    print ("Tienes $" + dolares + " dolares")


opcion = int(input(menu))

if opcion == 1:
    conversion("Colombianos", 3875)
elif opcion == 2:
    conversion("Argentinos", 80)
elif opcion == 3:
    conversion("Chilenos", 843)
else:
    print("Elige una opcion valida por favor ")

Vi este comentario más adelante en este curso, pero creo que desde aquí sirve. Yo no podía comentar las líneas porque uso windows. 😄

Una validación así sería óptima

A la hora de definir la función me di cuenta que se puede agregar más de 1 parámetro los cuales se agregan solo poniendo una coma (,). Debido a ello utilice 2 parámetros, el tipo de cambio con el nombre valor_dolar y el nombre de la moneda nacional con moneda_nacional para poder simplificar el código todo lo que pude.
Espero que les sirva mi aporte 😁.

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

menu = """ Bienvenido al conversor de monedas 💰 
1 - Pesos colombianos
2 - Soles peruanos
3 - Pesos mexicanos 
Elige una opción: """
opcion = int(input(menu))
if opcion == 1:
    conversion("pesos colombianos", 4007)
elif opcion == 2: 
    conversion("soles peruanos", 3.87)
elif opcion == 3: 
    conversion("pesos mexicanos", 20.31)
else:
    print('Ingrese una opción correcta')

PD: Son los mejores, es mi primer mes en Platzi y la comunidad que se formo en esta plataforma es genial, ver como se apoyan los unos a otros mediante los comentarios y aportes en las clases me fascina, les deseo lo mejor en esta etapa y éxitos en sus metas 😃!

Creo que también para ahorrar más código 😅🤓

def conversacion (opcion):
print(“Hola”)
print("Como estas? ")
print("Elegiste la opción "+str(opcion))
print(“Adiós”)

opcion = int(input("Elige una opción (1, 2, 3): "))

if opcion == 1:
conversacion(opcion)
elif opcion == 2:
conversacion(opcion)
elif opcion == 3:
conversacion(opcion)
else:
print(“Elige una opción correcta por favor :::”)

def elegir_opcion(tipo_moneda, tipo_cambio):
    moneda_seleccionada = float(input("¿Cuántos "+ tipo_moneda +" tienes?: "))
    dolares = str(round(moneda_seleccionada/tipo_cambio, 2))
    print("Tu tienes $"+ dolares + " dólares")

bienvenida="""
Bienvenido al conversor de monedas 👀💰

1.-Soles Peruanos 
2.-Pesos Colombianos
3.-Pesos Mexícanos

Elige una opción:
"""

opcion = int(input(bienvenida))
if opcion == 1:
    elegir_opcion("Soles Peruanos",3.998)
elif opcion == 2:
    elegir_opcion("Pesos Colombianos",3906.6)
elif opcion == 3:
    elegir_opcion("Pesos Mexícanos",20.77)
else:
    print("Ingresa una opción correcta")

¡Yo lo pude resolver de una manera más corta! aquí les dejo por si les sirve.

Funciones en Python
Una función es un bloque de código que se ejecuta cuando es INVOCADO, recibe parámetros, datos, dentro del (). En Python se define con la palabra clave def.

Ejemplo de una función

# Recibe el parámetro: nombre 
def saludar (nombre):
    print('Hola " + nombre + ", soy una función. Mi nombre es: saludar')

Llamamos a la función para que se ejecute:

saludar('Leo')

y podríamos colocar

print("elegiste la opción" + opcion) 

???

Les comparto mi codigo, creo yo quedo entendible 🪐🌍

La clase 15 no funciona, la página se queda en blanco y no permite ver nada…

Excelente !

Wow!! functions are excellent! 🤩

Buena clase!

def Conversacion(mensaje):
    print("Hola!")
    print("Como est'as!")
    print(mensaje)
    print("Adios")

opcion = int(input("Elige una opcion: (1, 2, 3): "))

if opcion == 1:
    Conversacion("Elegiste la opccion 1")
elif opcion == 2:
    print("Elegiste la opcion 2")
elif opcion == 3:
    print("Elegiste la opcion 3")
else:
    print("Elige una opcion correcta.")```

Como dato también pueden concatenar en los parámetros cuando se llama a la función. Si es un valor int deben convertirlo a str.

Aca les dejo mi codigo 😄. La foto esta echa en carbon . now . sh

Buenas practicas

siempre recordar tener bien los indentados pueden causar errores y como son espacio no los vemos jajaja

Estos temas por alguna razon no me quedan claros del todo. Con el curso de basico de JavaScript paso lo mismo. No termino de entender bien esta logica

Disculpen alguno sabe como podria hacer para cambiarle el color a los paréntesis ? a mi me salen todas del mismo color y es más fácil verlo con colores

Conversor de Soles, Pesos Colobianos, y pesos Mexicanos a dolares, usando Funciones, Parámetros, y condicionales:

menu = “”“
Bienvenido al conversor de monedas 😜:
1 - De Soles a dolares
2 - De Pesos colombianos a dolares
3 - De Pesos mexicanos a dolares
Elige una opcion:”""

def conversacion(cantidad, divisa):
moneda = input(cantidad)
moneda = float(moneda)
valor = divisa
dolares = moneda/valor
dolares = round(dolares, 2)
dolares = str(dolares)
print(“Tienes $” + dolares + " dólares")

opcion = int(input(menu))

if opcion == 1:
conversacion("¿Cuantos soles tienes?: “, 3.85)
elif opcion == 2:
conversacion(”¿Cuantos pesos colombianos tienes?: “, 3.93)
elif opcion == 3:
conversacion(”¿Cuantos pesos mexicanos tienes?: ", 22.4)
else:
print(“El valor ingresado es incorecto”)

![](

Excelente explicacion

Comparto mis apuntes:

Comparto mi codigo

def conversacion(mensaje):
    print('Hola')
    print('Como estás?')
    print('Elegiste la opcion: ',  mensaje)
    print('Adios')

opcion = int(input('Elige una opción (1, 2, 3): '))
if opcion == 1:
    conversacion(opcion)
elif opcion == 2:
    conversacion(opcion)
elif opcion == 3:
     conversacion(opcion)
else :
    print('Escribi la opción Correcta...')

Hola, estoy realizando el curso en Visual studio 2022 y he encontrado algunas diferencias con el original la primera es que no encontre en las extensiones la de python de 7 millones de descarga y no se si por ese motivo se generan ciertas diferencias al momento de compilar en este caso tuve un error que fue el siguiente

SyntaxError: Non-UTF-8 code starting with ‘\xf3’ in file …

el cual pude solucionar añadiendo la siguiente script en la primera línea de código.

# coding=<UTF-8>

Espero que si les sucede el mismo error lo puedan solucionar con esto.

See u

Comparto como cambié el programa anterior con funciones:

def convertir_pesos(mensaje_pesos):
    pesos_input = float(mensaje_pesos)
    valor_dolar = 20.46
    dolares = pesos_input / valor_dolar
    dolares = round(dolares, 2)
    dolares = str(dolares)
    print('Tienes $' + dolares + ' dólares')

def convertir_dolares(mensaje_dolares):
    dolares_input = float(mensaje_dolares)
    valor_dolar = 20.46
    pesos = dolares_input*valor_dolar
    pesos = round(pesos, 2)
    pesos = str(pesos)
    print('Tienes $' + pesos + ' pesos')

menu = '''
Bienvenido al conversor de monedas 💰

1 - Pesos a dólares
2 - Dólares a pesos

Elige una opción: '''

opcion = int(input(menu))

if opcion == 1:
    convertir_pesos((input('¿Cuántos pesos tienes ')))
elif opcion == 2:
    convertir_dolares(input('¿Cuántos dólares tienes '))
else: 
    print('Ingresa una opción correcta por favor')

Si no te funciona CTRL + / Sólo tienes que ir a:

Windows: File > Preferences > Keyboard Shortcuts.

MacOS: Code > Preferences > Keyboard Shortcuts.

Y en la barra de busqueda pones: toggle line comment

Allí vas a ver la combinaciónm de teclas que debes usar o cambiarla a tu preferencia, en mi caso fue:

CTR + }

Espero les ayude, colegas!

def impresion(num):
    print("Hola")
    print("Elegiste la opción: " + str(num))
    print("Adios")

opcion = int(input("Elige una opción (1,2,3): "))

if (opcion == 1) or (opcion == 2) or (opcion == 3):
    impresion(opcion)
else:
    print("Elige la opción correcta")

Estimados para los que tengan Windows 10 les recomiendo usar WSL/2 y ubuntu 20.04 LTS funciona muy bien para seguir los cursos Python

Saludos

Mi codigo:

def conversacion(mensaje):
    print("Hola")
    print("Cómo estas")
    print("Elegiste la opción " + mensaje)
    print("Adios")


opcion = int(input("Elige una opción (1, 2, 3: "))
if opcion == 1:
    conversacion("1")
elif opcion == 2:
    conversacion("2")
elif opcion == 3:
    conversacion("3")
else:
    print("Elige una opción correcta.")    
A ver saliendo un poco del contexto serio ... Se supone que si la funcion guarda codigo que se podria repetir , pues porque se repite el codigo de la funcion ?

def conversacion(mensaje):
print(‘Hola’)
print(‘Como estas, elegiste la opcion’)
print(mensaje)
print(‘Adios’)

opcion = int(input(‘Elige una opcion 1,2,3: ‘))
if opcion == 1:
conversacion(’ 1’)
elif opcion == 2:
conversacion(’ 2’)
elif opcion == 3:
conversacion(’ 3’)
else:
print(‘Escribe la opcion correcta’)