
Carlos Lopez
PreguntaEste concepto me esta costando mas trabajo digerirlo… alguien tiene una forma sencilla de explicar como es que funcionan las "funciones con parametros y resturn)? por lo pronto hice esta modificacion.
def conversor(cripto_moneda, valor_n_usd): usd = input("cuantos USD quieres cambiar a " + cripto_moneda+ " ahora mismo?: ") usd = float(usd) vcm = usd / valor_n_usd vcm = round(vcm,6) vcm = str(vcm) print("Tiene $"+ vcm + " "+cripto_moneda) menu = """ BIENVENIDO AL CONVERSOR DE CRIPTO ACTIVOS: 1. Bitcoin (BTC) 2. Etherum (ETH) 3. Binance (BNB) Elige la opicion que deseas convertir: """ opcion = int(input(menu)) if opcion == 1: conversor("BTC", 36210.78) elif opcion == 2: conversor("ETH", 2416.21) elif opcion == 3: conversor("BNB", 370.42) else: print("Ingresa una opción valida!")

Romel Manrique
Los parámetros son las variables que si o si van en tu función, por ejemplo en una división si o si debe haber un dividendo y un divisor por lo que si escribes una función que haga esa operación tendrás que agregar esos resultados. en return van los valores que quieres retornar de la función, en la mayoría de los casos el resultados, en el ejemplo de la división esto podría ser el cociente, el cociente entero, el residuo o lo que busques sacar de esa función.

Luis Rogelio Reyes Hernandez
Las funciones son pedazos de código repetible, es tomar tu algoritmo y hacer modular cada proceso, como a la hora de cocinar el horno solo hornea nunca ocurrirá que el horno lave los platos
digamos que creo un sistema de contaduría y constantemente necesito calcular que porcentaje del presupuesto hemos gastado.
por lo cual creo una función que haga eso
def calcular_porcetanje_del_total(valor, total): """ Esta funcion calcula el porcentaje que representa un valor en referencia al total que existe """ porcentaje = (valor * 100) / total return porcentaje
esta función es una caja cuyos valores internos existen aislados del resto del programa.
Los valores existen aislados porque en programación al llamar una función se pueden pasar las variables por referencia o por valor. Por los momentos eso no afecta y solo lo debes considerar a futuro, lo importante que entiendas es que, aunque cambies el valor de las variables dentro de la función el valor original queda igual.
ahora tienes un bloque de código que siempre que lo llamas ejecuta lo mismo te calcula el porcentaje, lo siguiente que quieres es hacer algo con ese porcentaje, no te sirve de mucho si solo lo calculas y no lo puedes usar por lo cual lo retornas.
Al retornar lo que ocurre es que si una variable le asignas un valor ejecutando la función estaba variable almacena el valor:
segmento = 99 total_cantidad = 1000 mi_porcentaje = calcular_porcetanje_del_total (segmento, total_cantidad) print(f"{segmento} representa el {mi_porcentaje}% de {total_cantidad}")

Santiago Arias
Hola Carlos, usas bien los parametros que son practicamente lo que pasas a la funcion al momento de invocarla en el main y respecto al return pensemos en una funcion como una caja que toma uno o varios inputs y retorna un valor. En tu caso los inputs son la moneda y el valor de la moneda en dolares. Ahora el output deberia ser el valor en criptos que obtienes con los dolares que tengas, el return es lo que proporciona ese output; entonces si tu cambias tu ultima linea de la funcion por algo como
return vcm
puedes usar ese valor en cualquier parte del programa por ejemplo:
bitcoins_obtenidos = conversor("BTC", 36210.78)
bitcoins_obtenidos tomara el valor que retorna la funcion que internamente es vcm. Recuerda que lo importante de las funciones es que sean reutilizables y hay que buscar la forma de que retornen un valor.

Cristian Lozada
En tu ejemplo, quiza querrias o podrias usar el codigo de la funcion en otros momentos de tu programa (ese es el sentido de las funciones) y no en todos los casos te seria conveniente escribir todo lo que viene en el print de la función, así que podrías reemplazar dicho print de la función conversor por un return vcm. Y el print dejarlo por fuera de la función reemplazando por ejemplo: conversor("BTC", 36210.78) por algo como: print ("Tiene $" + conversor("BTC", 36210.78) + " BTC")

Cristian Lozada
Hola, no estoy seguro de haber entendido bien tu pregunta, si es así disculpa. La forma en la que entiendo el concepto de función es como si fuera una maquina, en particular por ejemplo, una maquina expendedora. Uno la usa (como llama a una función), le inserta una moneda (como los parámetros a una función) y la maquina realiza sus operaciones internas (código) y por ultimo nos devuelve un producto (como el return de la función).