python - 循环可变次数时如何返回

标签 python python-2.7

只是通过一些练习,这个练习要求创建一个会生成随机数的骰子滚筒。该函数的参数应该是(骰子的面数,掷骰数)

如果我只使用 return 它将停止循环。我知道解决这个问题的一种方法是合并答案并打印出来,但是如果答案的数量(或本例中的掷骰数)是一个变量怎么办?

这是我的代码:

#roll_dice
import random

def rolldice(sides, rolls):
  start = 1
  while start <= rolls:
    number = random.randint(1, sides)
    start += 1
  return number

print rolldice(6, 3)

我怎样才能打印这个:

3
5
2

最佳答案

您可以使用如下列表理解,这将使您的函数返回一个随机数列表:

>>> import random
>>> def rolldice(sides, rolls):
...     return [random.randint(1, sides) for _ in xrange(rolls)]

演示:

>>> rolldice(6, 3)
[1, 2, 3]
>>> rolldice(6, 3)
[2, 6, 4]

关于python - 循环可变次数时如何返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37096309/

相关文章:

python - 在文本文件中找不到字符串

python - 如何查询特定属性的 Pandas 数据框

python - Tkinter:为用户选择的点设置颜色

python-2.7 - 在 Windows 8.1 (python 2.7) 上升级到 pip 7.1.10 时出错

python-2.7 - 出现错误 : DLL load failed: The operating system cannot run %1 - Python 2. 7;抓取模块;导入密码学

python - 文件包含\u00c2\u00a0,转换为字符

PHP exec 命令运行 python 脚本但不运行 python3

python - 在没有硬编码有效负载的情况下无法从一个部分中抓取所有书籍

python - 程序运行正常,但无法导入并出现 IndexError

macos - pip install xgboost with error Command "python setup.py egg_info"failed with error code 1 on mac (Python 2.7)