python - 我想创建一个函数,以 pythonic 方式通过 num 变量滚动一定数量的骰子

标签 python list function random numbers

我的问题是如何让列表卷打印 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/

相关文章:

Python无法获取文件的完整路径名

list - 如何简化表示为列表列表的代数方程

python - 按数值排序字典

Javascript If 语句验证三个不同的表单值?

excel - VBA:在字符串中的大写字母之后或之前放置一个空格

Javascript if/else 语句,定义和返回变量?

python - Tkinter 中的无限循环?

python - 无法在我的 python 代码中发现错误

Python:从列表动态生成属性

python - 嵌套列表查询的通配符