我的問題是如何獲得列表滾動來打印6個數字?我想創建一個函數,通過pythonic方式通過num變量滾動一定數量的骰子
import random
from random import *
num = 6
def d6(num):
for x in range(num):
roll = randint(1,6)
print ("", roll)
print("finished you rolled: ",roll)
我的問題是如何獲得列表滾動來打印6個數字?我想創建一個函數,通過pythonic方式通過num變量滾動一定數量的骰子
import random
from random import *
num = 6
def d6(num):
for x in range(num):
roll = randint(1,6)
print ("", roll)
print("finished you rolled: ",roll)
您可以將每個捲筒附加到一個數組,然後打印該數組。
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]
`
這似乎最接近我期望的輸出,本質上我想這個函數返回的值用於字符創建等... – 2014-10-17 03:21:45
我將冒險猜測您試圖在您的消息之後在一行上打印卷。
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))
你可以做到這一切在一個單一的列表理解:
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]
當我複製這個我得到的錯誤....將再次嘗試。 – 2014-10-17 03:23:08
這條線的正確語法是什麼:return [random.randint(1,die)for die in dice)] – 2014-10-17 03:32:38
@GarryHurst我不小心留下了一個額外的右括號。它應該以「骰子」而不是「骰子」]結束。 – 2014-10-17 15:54:29
你能正確格式化嗎?您的代碼在寫入時不會運行。 – munk 2014-10-17 02:16:01