2014-10-17 24 views

回答

0

您可以將每個捲筒附加到一個數組,然後打印該數組。

import random 
from random import * 
num = 6 

def d6(num): 
    rolls = [] 
    for x in range(num): 
      rolls.append(randint(1,6)) 
    print rolls 

>>> d6(5) 
[4, 6, 1, 1, 1] 

`

+0

這似乎最接近我期望的輸出,本質上我想這個函數返回的值用於字符創建等... – 2014-10-17 03:21:45

0

我將冒險猜測您試圖在您的消息之後在一行上打印卷。

import random 
from random import * 
num = 6 

def d6(num): 
    rolls = [] 
    for x in range(num): 
     rolls.append(randint(1,6)) 
    return rolls 

rolls = d6(6); 
print("finished you rolled: ",rolls) 

或者,您可以打印空格分隔符如下。

print("finished you rolled: " + " ".join(str(x) for x in rolls)) 
2

你可以做到這一切在一個單一的列表理解:

import random 

def d6(num): 
    return [random.randint(1,6) for i in range(num)] 

print d6(6) 

如果你想,這是很容易修改這個讓你可以使用正面骰子:

import random 

def rolldice(num, sides=6): 
    return [random.randint(1,sides) for i in range(num)] 

print rolldice(5) # roll 5 six-sided dice 
print rolldice(6, 20) # roll 6 20-sided dice 

如果你有一種情況,你可能會拋出混合骰子,你可以輸入這些列表:

import random 

def rolldice(dice): 
    return [random.randint(1, die) for die in dice] 

print rolldice([6, 6, 20, 100, 20]) 
# Example output - [5, 1, 9, 84, 13] 
+0

當我複製這個我得到的錯誤....將再次嘗試。 – 2014-10-17 03:23:08

+0

這條線的正確語法是什麼:return [random.randint(1,die)for die in dice)] – 2014-10-17 03:32:38

+0

@GarryHurst我不小心留下了一個額外的右括號。它應該以「骰子」而不是「骰子」]結束。 – 2014-10-17 15:54:29