Python 循环次数可变时如何返回

Python 循环次数可变时如何返回,python,python-2.7,Python,Python 2.7,只是通过一些练习,这一个要求创建一个骰子辊,将产生一个随机数。该函数的参数应为(骰子上的边数、卷数) 如果我只使用return,它将停止循环。我知道解决这个问题的一种方法是合并答案并打印出来,但是如果答案的数量(在这种情况下是滚动)是一个变量呢 这是我的密码: #roll_dice import random def rolldice(sides, rolls): start = 1 while start <= rolls: number = random.randin

只是通过一些练习,这一个要求创建一个骰子辊,将产生一个随机数。该函数的参数应为(骰子上的边数、卷数)

如果我只使用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)

您希望将列表返回给用户,然后以指定的形式打印列表:

#roll_dice
import random

def rolldice(sides, rolls):
  numbers = []
  index = 0
  while index < rolls:
    number = random.randint(1, sides)
    numbers.append(number)
    index += 1
  return numbers

print '\n'.join(rolldice(6, 3))
#掷骰子
随机输入
def滚刀(侧面、滚刀):
数字=[]
索引=0
当指数<转鼓时:
数字=random.randint(1,边)
数字。追加(数字)
指数+=1
返回号码
打印'\n'。加入(滚动骰子(6,3))

您可以使用
收益率

import random

def rolldice(sides, rolls):
  for i in xrange(0, rolls):
    yield random.randint(1, sides)

for item in rolldice(6,3):
  print item

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

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


请给出变量名,而不是b和x。这会给我一个错误:“回溯(最近一次调用):文件“/Users/nhud……….”,第55行,打印“\n”。加入(rolldiec2(6,3))文件“/Users/nhud……….”,第51行,打印rolldiec2数字[索引]=编号索引器:列表分配索引超出range@SenorPenguin很抱歉,现在应该解决了!
lst
有点误导,因为它是一个迭代器。对rolldice(6,3)中的项执行
更简单:…
。也可以使用
xrange()
而不是手动递增计数器。这并不完全按照我的要求打印,但它非常简洁,可以完成任务。谢谢!您可以通过这样调用它来让它完全按照您的要求打印
print(“\n”)。join([str(x)代表rolldice(6,3)])
因为您使用
“\n.join()
>>> 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]