2014-03-13 40 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个滚你感兴趣的数量

希望它有帮助

相关问题