2016-12-16 73 views
-1

我有兩個列表:D_Roll和空間,因爲這樣的:移動通過列表中一個int

D_Roll = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] 
Space = list(range(1,37)) 

我要的是採取隨機D_Roll的值,即

x = random.choice(D_Roll) 

並將其添加到空間列表的當前索引。

所以:D_Roll產生9,我想空間移動到指數8

我想我可以做這樣的事情:

Current_Space = {Space : Space + x in Space} 

但它不會允許INT的。

我該如何沿列表的索引移動?

+2

「空間移動到索引8」是什麼意思? – harshil9968

+0

D_Roll產生9時'Space'的期望值是多少? – AKS

+0

空間是一個列表1-36,從索引[0] = 1索引[37] = 36開始。 我希望D_Roll的值通過滾動的任何東西在列表空間中移動。 –

回答

1

您可以直接訪問索引。

Current_Space = Space[random.choice(D_Roll) - 1] # minus one cuz 0-index 
+0

謝謝,這解決了它 –

+0

你怎麼知道被問到的是什麼? ;-) – AKS

+0

呵呵。下面的一行給了我一個提示。所以:D_Roll產生9,我想空間移動到索引8。 – Dulguun

1

如果你想在它出現在「X」列表中的項目的值,然後嘗試

import random 

D_Roll = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] 
Space = list(range(1,37)) 

x = random.choice(D_Roll) 

Current_Space = Space[x-1] 

#check the output 
print(x) 
print(Current_Space) 

如果你想開始與space的值,然後移動到一個新的隨機值,然後嘗試

import random 

Original_Space = 5 #set to what you want 

D_Roll = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] 
Space = list(range(1,37)) 

x = random.choice(D_Roll) 

Current_Space = Space[(Original_Space +x -1)] 

#check input and output 
print(Original_Space) 
print(x) 
print(Current_Space) 

注意:此代碼可能會將您的新值超出範圍space。您可以添加一個if語句來檢查這一點,並從列表開始處開始