2014-03-13 88 views
1

想知道如何從列表中獲取值並將其分配給在其餘代碼中使用的變量。如何從列表中獲取值並將其分配給變量

import random 

def dice_roll(number): 
    if number == 12: 
     number = random.randint(1,12) 
     print(number) 
     return number 
    elif number == 6: 
     number = random.randint(1,6) 
     print(number) 
     return number 
    else: 
     number == 4 
     number = random.randint(1,4) 
     print(number) 
     return number 

print("12 sided") 
print("6 sided") 
print("4 sided") 

rolls = {4: [], 6: [], 12: []} # dictionary to hold rolls 
while True: 
    roll = int(input("Which dice would you like to roll? --> ")) # store die size 
    rolls[roll].append(dice_roll(roll)) # roll and add to dictionary 
    doRepeat=input("Go again? --> ") 
    if doRepeat == "no": 
     break 
    print(rolls) 
+1

'my_var = rolls [roll] [roll_index]'?考慮到問題的模糊性,這是我能給你的最好的結果 – aruisdante

回答

1

Dead @ user3119844。

我認爲你的問題有點奇怪,因爲它與目前的代碼不一致。

通過代碼,你似乎是一個相當熟練的Python程序員。所以要麼我不明白這個問題,要麼就是很奇怪。

儘管在我看來,卷字典有3個列表(與3個不同的骰子有關),每個列表都包含幾個值。在python中,你可以使用[](括號)來訪問它的索引值。於是拿起一個變量名,說v例如,然後:

v=rolls[diceNumber][rollIndex] 

其中diceNumber要麼4,6或12 rollIndex是第n個滾你感興趣的數量

希望它有幫助

相關問題