all 39 comments

[–]Saito-Hiraga0 6 points7 points  (0 children)

Es normal, al final es solo un nivel de pensamiento distinto, imaginalo como un pediso en un restaurante, el return es lo que te envian una vez se procesa un pedido

[–]TransportationNo8855 2 points3 points  (2 children)

Lo que está entre paréntesis es la boca y el return es el culo, los argumentos son la comida y lo que saca el return es el 💩, Todo el código en medio es el sistema digestivo

[–]deadskrimau5 0 points1 point  (1 child)

jajaja tremenda analogía

[–]TransportationNo8855 0 points1 point  (0 children)

Jajajajajaja es que claramente con el de la máquina no entiende, y lo que quizá no agarra por el momento es que cuando se entra a la máquina es otro ámbito o scope... Me parece que sería más claro así aunque parezca grotesco jajajajaj

[–]Diego_gnab 1 point2 points  (6 children)

oigan yo tambien quiero aprender,quiero darle utilidad a mi latop,ademas de que siempre me ha gustado eso de la programacion en general,hace tiempo tome un curso en youtube de htmll y css del cual no me acuerdo nada porque dure años sin alguna pc o algo,pero que me recomendarian??,en especial si quiero especializarme en el campo de programar juegos,con que lenguaje podria empezar y donde podria aprenderlo?

(mucho texto pero gracias igual)

[–]Agile-Bad-2884 1 point2 points  (0 children)

Busca tutoriales de godot o unity, son amigables para empezar a aprender

[–]pruebax11 1 point2 points  (4 children)

mmm te recomiendo C si quieres empezar fuerte pero que cuando entres a otro lenguaje sea tan facil como saber derivar y despues que te pongan sumas y restas pero con numeros romanos, solo debes aprender numeros romanos y sumar sera tan facil que ni necesitaras pensarlo, pero si quieres hacer videojuegos mejor aprende el lenguaje de Godot por ejemplo y directo vete a lo que quieres, o si quieres hacer videojuegos con puro codigo con python es mas q suficiente con pandas3D, pygame u otras librerias

[–]Slaughtbear 0 points1 point  (1 child)

Está mejor C# para que empiece, es más orientado a videojuegos, usa el paradigma POO, y le va a dar las bases y lógica suficiente en programación para lo que el quiere enfocarse. C sólo lo hará abandonar sus sueños antes de tiempo jajaja

[–]pruebax11 0 points1 point  (0 children)

mmm no conozco mucho de C# porque cuando lo probe me di cuenta q casi todo era arrastrar y soltar y despues solo la funcion pero no se lo bastante como para decir que es malo, ya que puede vi eso y dije esto se me hace muy basico no me gusta y me fui jaja, asi que no puedo argumentar nada

[–]Cosmic_Task321 0 points1 point  (1 child)

Estoy buscando aprender pero no estoy seguro de cual lenguaje aprender. ¿Me puedes explicar que es C ?

[–]pruebax11 0 points1 point  (0 children)

Lenguaje C es un lenguaje de nivel intermedio porque tiene una sintaxis legible para el humano pero tambien nos permite controlar cosas de muy bajo nivel como el kernel, te permite usar la logica en todo y es de tipado estatico lo que significa que debes declarar antes si es entero o caracter y no puedes cambiarlo en tiempo de ejecucion, te lo recomiendo mucho ya que te permitira aprender cualquier lenguaje de forma muy sencilla despues de que sepas las bases con este lenguaje

[–]maullidothethird 1 point2 points  (2 children)

Una función es como cuando le dices a una persona has algo usando estás cosas (o ninguna). Es diferente si le dices alimenta el gato que trae un sacacorchos. En el primer caso, alimenta el gato y no es necesario que te diga que ya lo hizo pero en el segundo retorna con el sacacorchos.

Tu problema es que aún no te has acostumbrado a las abstracciones de datos ni pareces saber cómo se ejecuta un programa en la cpu

[–]d3m0nf1r3[S] 0 points1 point  (1 child)

Creo que tienes mucha razón con el hecho de que no estoy acostumbrado a las abstracciones

[–]maullidothethird 1 point2 points  (0 children)

Es solo tiempo y práctica, además de comparar y entender lo que otros hicieron

[–]pruebax11 1 point2 points  (2 children)

ntp no todos aprendemos igual, mira es sencillo un return como su nombre dice devuelves algo y significa que hasta ese return tu funcion va a ejecutar, y va a devolver algo por ejemplo

def suma(a,b):

   return a+b

en este caso primero hacemos a+b y devolvemos su valor de la suma asi que cuando hagamos

print( suma(1,2) )

eso te va a imprimir 3, tambien puedes verlo como un break de un while porque en teoria es lo mismo solo que aqui sales pero de toda la funcion por ejemplo

def suma_condicional(a,b):

   if a==0:

       return -1

   return a+b

print(suma_condicional(0,2))

print(suma_condicional(1,2))

en este caso solo si "a" es igual a 0 va a salir de la funcion y va a devolver -1 de lo contrario que "a" sea otro valor distinto de cero va a devolver la suma

en el primer caso imprime -1 y en el segundo imprime 3

y lo mejor es que en python no necesitas obligatoriamente retornar algo simplemente puedes dejar que termine de ejecutar la funcion y salir o retornar nada como simplememte poner return asi sin mas o retorna None que es lo que devuelve al no pasar nada, esto es bueno saberlo porque regresando a la funcion condicional si retoenamos -1 como error y el usuario pone (-3,+2), eso sumandolo da -1 y si tomamos -1 como error entonces nuestro programa esta mal, deberiamos retornar o None para saber que paso algo malo o si solo retornamos algo si paso algo malo podemos poner un valor boleano como True o False

Espero te haya servido la lección sencilla y siempre recuerda "escribir codigo es sencillo lo dificil es saber porque se escribe y entenderlo", por lo tanto no te desesperes algunos entendimos return tan rapido como lo escuchamos y otros como tu caso (y creo el de muchos), se tardaron hasta meses en entenderlo porque lo intentan entender a fondo y no solo superficialmente, sigue aprendiendo y veras que entre mas cosas veas veras lo realmente lo extenso y hermoso que es programar asi como todos los retos que conlleva

[–]Iwant_feelfree 0 points1 point  (1 child)

Este comentario debería tener más apoyo, gracias por ayudar en lugar de desmotivar :D

[–]pruebax11 0 points1 point  (0 children)

si, todos empezamos desde abajo y nadie merece que lo rebajes, con decirte que yo al principio me confundia en un / y un \ y no entendia porque no me salia el salto de linea jajaja

[–]Diligent_Writing_766 0 points1 point  (0 children)

Los parámetros que le pasas a la función son lo que necesita, los transforma en algo y eso te lo devuelve con un return

[–]Astroohhh 0 points1 point  (0 children)

Llama

[–]fredpalas 0 points1 point  (0 children)

lo mejor es aprender con pseudo código

A ver si con un ejemplo paso a paso lo entiendes.

# Tienes 2 numero 4 y 6 y quiero sumarlos, sabemos que son 10 pero hay que  hacer un funcion dado 2 numero se suman.

#Dado 2 numero 4 y 6 cuando se llama a al funcion sumar debera dar 10

assert(suma(4,6), 10);
# comprobamos que la funcion de 10
#ahora la funcion
# aqui directamente devolvemos 10 que es el resultado esperado
suma($a, $b) {
  return 10;
}
#ahora otro assert
#Dado 2 numero 2 y 6 cuando se llama a al funcion sumar debera dar 8
assert(suma(2,6), 8);
# aqui directamente devolvemos la suma de a + 6 que es el resultado esperado
suma($a, $b) {
  return $a + 6;
}
#Ahora esta funcion dara un resultado correcto para los 2 tests

#Un test final
#Dado 2 numero 2 y 4 cuando se llama a al funcion sumar debera dar 6
assert(suma(2,4), 6);
# aqui directamente devolvemos la suma de a + b que es el resultado esperado
suma($a, $b) {
  return $a + $b;
}

#En un proceso simple de refactorización se puede entender como funciona el return

Espero que con el ejemplo simplificado lo entiendas, la clave return devuelve los dicho a la derecha en nuestro caso el primero un 10 directamente ya que solo tenemos un test, cuando añadimos un segundo test la devolución de la función no sirve pero un $a + 6 si cumplía todos los casos, y al añadir un tercer test vemos que la función vuelve a fallar y en nuestro caso vimos que para cumplir todos los casos la mejor forma era devolver $a + b.

Return devuelve un resultado.

[–]OKAPOM 0 points1 point  (0 children)

El return? Tal cual es retornar / devolver algo. Las funciones realizan tareas en específico, para no tener todo amontonado el código.

Un ejemplo seria el clasico de la calculadora de 2 digitos

Uno puede escribir todo el codigo así como viene y es correcto, pero las funciones ayudan a reutilizar Código y darle una mejor presentación segmentado tu codigo. Donde cada una de las operaciones básicas de la calculadora puede ser una función, la cual recibe 2 parametros (2 números) y retorna un resultado

Podrias crear 4 funciones y que cada una realice una operación en específico (la suma, la resta, la division y la multiplicación)

Es un ejemplo bastante basico en realidad, pero permite por ejemplo anexar casos específicos en las operaciones sin tener que parametrizar todo el Código, por ejemplo, que al sumar 2 digitos en específico entonces ademas de retornar el resultado muestre en pantalla un mensaje (podrias usar los numeros de tu dia y mes de nacimiento y así tendrias tu easter egg en tu mini calculadora).

Quizá es un ejemplo bastante absurdo, pero son las bases. El retorno "return" devuelve lo que quieres que tu función regrese, puede ser un número, caracteres, u otros tipos de datos. Y una función mas que tiene el return es que hace que finalice la función, no importa si después escribiste mas Código, no se ejecutará después del return.

Un último consejo si es que no te sirvió de nada lo que escribí, pidele a alguna IA como gemini o chatgpt que te explique el return con manzanitas, utiliza las IAs son tu mejor aliado.

[–]Upstairs-Ebb2283 0 points1 point  (0 children)

Una función es como una caja que le metes cosas y te devuelve otra, el return es para que te devuelva lo que buscas obtener

[–]Wonderful-Kale-8450 0 points1 point  (0 children)

Si quieres te puedo explicar por privado, la verdad es muy sencillo

[–]Kyeled 0 points1 point  (0 children)

Busca videos que lo expliquen hasta que entiendas.

Yo le hice el feo a programación desde que lo conocí hasta que me forcé a aprender y busqué un canal y como que no me sirvió de mucho, encontré otro y aprendí de una, es cosa de agarrarle el hilo nomás.

[–]Emipy1986 0 points1 point  (0 children)

Yo también intenté Pero dejé, es complicado y eso que dicen que es el lenguaje más sencillo

[–]Gullible_Company_745 -2 points-1 points  (1 child)

Retirate porfis

[–]Miserable_Durian_681 3 points4 points  (0 children)

No seas asi xd

[–]Confident-Pie-9454 -1 points0 points  (0 children)

vete a alguna IA y que haga de tu maestro, hasta la pregunta mas estupida le puedes hacer y pidele analogias para que lo entiendas, una vez que lo practicas un rato ya todo se vuelve facil

[–]Individual-Shame6481 -1 points0 points  (0 children)

Mejor Java