我的问题是如何让列表卷打印 6 个数字?
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
def d6(num):
return [random.randint(1,6) for i in range(num)]
print d6(6)
如果您愿意,可以很容易地修改它,以便您可以使用 n 面骰子:
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]
关于python - 我想创建一个函数,以 pythonic 方式通过 num 变量滚动一定数量的骰子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26416845/