7
votes

Multiplier, puis résumant les valeurs de deux dictionnaires (prix, stock)

J'ai besoin de multiplier les valeurs de chaque touche, puis d'ajouter toutes les valeurs ensemble pour imprimer un numéro unique. Je sais que cela probablement super simple mais je suis coincé

dans mon esprit, je l'aborderais avec quelque chose comme: xxx

mais quelque chose comme ça ne va pas travailler:) xxx


7 Réponses :


3
votes

Si vous auriez su, comment itérer via un dictionnaire, indexez un dictionnaire à l'aide d'une touche et comprendre un dictionnaire, ce serait un «pré> xxx

même si votre implémentation de Python fait Non fournissez la compréhension du dictionnaire ( dict intégré xxx

si vous ne faites pas; t veux compatible entre 2.x et 3.x, vous pouvez également utiliser iteriTems au lieu de Articles xxx

Si vous souhaitez un seul total du résultat, vous pouvez transmettre les produits individuels à somme xxx < / pré>


0 commentaires

15
votes

Vous pouvez utiliser une compréhension dict si vous souhaitez que les individus: xxx

ou aller directement au total: xxx


4 commentaires

En supposant que stock a les mêmes clés que les prix . Peut-être stock.get (k, 1) serait plus approprié, mais je ne suis pas sûr ... de si vous êtes seulement intéressé par le chevauchement, sur python3, pour k in Prix.Keys () & Stock.Keys () (Python2.7 C'est Keysview je pense)


Oui, dépend du cas d'utilisation. Je pensais peut-être stock.get (k, 0) , en supposant que le numéro par défaut a été égal à zéro, mais au moins de cette façon, vous obtenez un joli keerror et peut décider de là. : ^)


Oh, à droite. Obtenir (k, 0) serait plus logique que d'utiliser 1. Après tout, vous ne pouvez pas facturer un article que vous n'avez pas en stock.


Merci, fonctionne parfaitement. J'ai bien été bien avec un dictionnaire mais travaillant entre deux était difficile. Essayait de créer une fonction et de jouer évidemment là-haut. Merci beaucoup pour votre aide!



0
votes

Je suppose que vous êtes sur CoDeacademy? Si oui, faites cela: xxx

Contrairement à ce que les instructions ont indiqué que vous devriez ajouter toutes les valeurs ensemble avant de les multiplier et les ajouter au total. J'espère que cela aide.


0 commentaires

-1
votes
total = 0   
for key in prices:
    print prices[key] * stock[key]
    total += prices[key] * stock[key]
print total

0 commentaires

1
votes

Réponse correcte pour CoDeAcademy en fonction de la description de la tâche: xxx


0 commentaires

0
votes

J'ai écrit le code suivant et cela a fonctionné. Pour les prix principaux:

print key
   print "price: %s" % + prices[key]
   print "stock: %s" % + stock[key]


1 commentaires

Bienvenue à :) Il est toujours préférable d'ajouter une explication au code que vous postez comme une réponse, de sorte qu'elle aiderait les visiteurs à comprendre pourquoi c'est une bonne réponse.



0
votes

réponse rapide et générale.

Si vous recherchez un moyen efficace et rapide de multiplier les éléments (valeurs) de deux dictionnaires ensemble, utilisez compréhension dict . Assurez-vous que les deux dictionnaires ont les mêmes clés. Vous pouvez utiliser cette doublure: xxx


0 commentaires