Iterieren über zwei Wörterbücher auf einmal und ein Ergebnis bekommen mit den Werten und Schlüsseln aus beiden

def GetSale():#calculates expected sale value and returns info on the stock with              highest expected sale value
      global Prices
      global Exposure
      global cprice
      global bprice
      global risk
      global shares
      global current_highest_sale
      best_stock=' '
      for value in Prices.values():
          cprice=value[1]
          bprice=value[0]
          for keys, values in Exposure.items():
             risk=values[0]
             shares=values[1]
             Expected_sale_value=( (cprice - bprice ) - risk * cprice) * shares
             print (Expected_sale_value)
             if current_highest_sale < Expected_sale_value:
                current_highest_sale=Expected_sale_value
                best_stock=Exposure[keys]
     return best_stock +" has the highest expected sale value"

Oben ist mein code derzeit aus. Aus irgendeinem Grund, obwohl, es scheint zu tun in der ersten Schleife, dann die zweite, dann die zweite, dann die erste, dann die zweite. Es scheint zu tun, die zweite Schleife jedes mal, wenn er bekommt, um es aus, bevor Sie wieder an die erste for Schleife. Es ist wegen dieses, daß die Antworten, die ich bekommen hab, sind nicht korrekt.

Was sollte es tun? Die Art und Weise haben Sie den code strukturiert ist, die zweite Schleife wird innerhalb des ersten, so wird es nicht die zweite Schleife einmal für jede iteration der ersten Schleife.
Beachten Sie, dass Wörterbücher sind ungeordnet. Looping über zwei Wörterbücher auf einmal in der Regel nicht sinnvoll, es sei denn, Sie haben die gleichen Schlüssel.
Ich brauche es zu tun die zweite Schleife einmal für jede iteration der ersten Schleife, da die beiden Wörterbücher sind die gleiche Länge.Ich brauche Informationen von Ihnen beiden zu berechnen Expected_sale_value. Aber aus irgendeinem Grund, wenn ich mehr als ein Schlüssel/Wert-paar in beiden Wörterbüchern die Mathematik macht seltsame Dinge und nicht immer kommen Recht
Sie haben die gleichen Schlüssel. nur die Werte sind anders
Deine Einrückung ist kaputt. Es ist unklar, was die Vertiefung in Ihre eigentlichen code ist wie; bitte korrigieren Sie Ihren Beitrag.

InformationsquelleAutor arisonu123 | 2013-12-23

Schreibe einen Kommentar