2014-02-20 47 views
0

我有2所列出,fantasiesdamages,每個長度爲19的:薩姆向上值

fantasies[0] = ("Extreme sports") 
damages[0] = 250000 
fantasies[1] = "Truffles" 
damages[1] = 5000 
.... 
fantasies[19] = "Coffee" 
damages[19] = 50000 

我的程序隨機選擇n幻想和打印選擇的值:

import random 
i = 0 
while i<n: 
    print (random.choice(fantasies)) 
    i = i + 1 

現在我需要它總計damages值,這對應於隨機選擇的fantasies值。

例如,如果程序在索引2,6和18隨機選擇fantasies,我需要它在相同的索引下總結damages。我怎樣才能做到這一點?

回答

0

可以zip他們到元組和總結相關的值:

import random 
n = 3 
data = zip(fantasies, damages) 
total = 0 
for i in range(n): 
    myChoice = random.choice(data) 
    print myChoice[0] 
    total += myChoice[1] 

有幾件事情我要補充:

  1. 在未來你可能會想使用字典存儲相關的值,而不是有兩個列表。

  2. 我有一種感覺,你需要獨特的選擇。如果是這樣,您將需要使用shuffle

+0

我不確定這是否會導致問題,但是當用戶調用函數時,他們必須輸入金額n來告訴程序需要選擇多少東西------ trust_fund_monthly (n): 「」「會讓你有最高的n種花錢方式。」「」 – user3331266

+0

@ user3331266不明白爲什麼會有問題。 – sashkello