Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Linton en 16 Junio 2013, 23:48 pm



Título: [JS] Atascado con un ejercicio de Codeacademy
Publicado por: Linton en 16 Junio 2013, 23:48 pm
He empezado el cursillo de javascript en Codeacademy, y me surge un problema con el siguiente ejercicio:

Instructions

Eres una persona de hábitos. Cada semana compras 5 naranjas. ¡Pero el precio de las naranjas sigue cambiando!
1. Quieres declarar una función que calcule cuánto cuesta comprar 5 naranjas.
2. Luego quieres calcular el costo de comprar las 5 todas juntas.
3. Escribe una función que haga esto, y que se llame costoNaranjas().
4. Debe tomar un parámetro que es el costo de una naranja y multiplicarlo por 5
5. Llama a la función en la que las naranjas cuestan 5 dólares cada una.


Mi código:

Código
  1. var costoNaranjas = function(precio) {
  2.  console.log(precio * 5);
  3. };
  4. costoNaranjas(5);

Resultado: 25.

Sin embargo, una y otra vez me sale error, con el siguiente aviso:

Oops, try again! Tu función debería haber sido igual a 25, porque es el resultado de comprar 5 naranjas a 5 dólares cada una. Pero el resultado no es 25

Y como digo el resultado que aparece arriba ES ni más ni menos que 25. ¿Dónde está el fallo?
Al parecer en Codeacademy no se dan las soluciones, o te las apañas para acertar o no puedes seguir a la siguiente lección, ¿no?

Gracias, un saludo.


Título: Re: [JS] Atascado con un ejercicio de Codeacademy
Publicado por: Eleкtro en 17 Junio 2013, 00:03 am
Hola

No sé javascript pero según lo que puedo deducir en tu code, no estás modificando/devolviendo el valor de "precio", solo estás mostrando, ¿me equivoco?.

¿Has probado así?:

Código
  1. function precio(naranjas)
  2. {
  3.  return naranjas * 5;
  4. }
  5. console.log(precio(5));

Saludos


Título: Re: [JS] Atascado con un ejercicio de Codeacademy
Publicado por: Linton en 17 Junio 2013, 00:50 am
Pues yo sé menos todavía, pero si pongo entre paréntesis 5 al final, aquí:

Código
  1. costoNaranjas(5);

...estoy dando un valor al parámetro precio, ¿no es así?  :huh: Y de hecho el resultado es 25, lo que se espera.

Probaré como tú dices, gracias.

Añado: con tu propuesta sale este aviso: "Oops, try again! No definiste costoNaranjas"

No avanzo con este lenguaje :(

Añado: Aaah ya veo, qué alivio, resulta que el ejercicio tiene errores. Y en efecto hay que utilizar return, aunque no lo han explicado todavía. ¡Gracias!  :)