Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: BigKaz en 18 Enero 2017, 19:28 pm



Título: (PYTHON 3.6 Y 2.7) Problema en ejercicio de Codecademy
Publicado por: BigKaz en 18 Enero 2017, 19:28 pm
Ejercicio de Codecademy:
Haz un bucle que pase por tus diccionarios para saber cuánto dinero ganarías si vendieras toda la comida en el inventario. ¡Haz que ese valor se muestre en la consola!.
Pista: El valor de un producto determinado es su cantidad de artículos en el inventario, multiplicados por su precio. Por ejemplo, el costo total de los bananos sería 24 (a un precio de 4 multiplicado por 6 bananos en el inventario).
--------------
Y lo hice en Python 3.6 con Visual Studio y me resulta bien:
Código
  1. precios = {
  2.    "banano": 4,
  3.    "manzana": 2,
  4.    "naranja": 1.5,
  5.    "pera": 3
  6.    }
  7.  
  8. inventario = {
  9.    "banano": 6,
  10.     "manzana": 0,
  11.     "naranja": 32,
  12.     "pera": 15
  13.    }
  14. for i in precios:
  15.    print (precios[i]*inventario[i])
  16.  
Salida:
Código:
24
0
48.0
45

Pero este mismo codigo lo puse en Codecademy y el resultado es completamente diferente:
Salida:
Código
  1. 0
  2. 45
  3. 24
  4. 48.0
  5. None

Probe quitandole los parentesis del principio:
Código
  1. precios[i]*inventario[i]
ya que es python 2.7 pero da el mismo resultado.

Porque es? Por la version? un error de codeacademy? (Ya reinicie la pagina y nada)
Como lo soluciono? Gracias


Título: Re: (PYTHON 3.6 Y 2.7) Problema en ejercicio de Codecademy
Publicado por: tincopasan en 19 Enero 2017, 04:40 am
el resultado es el mismo! lo que cambia (y probá bien en 3.x varias veces) es porque el acceso al diccionario no es secuencial como el orden que figura, sino que es aleatorio.