Python 循环次数可变时如何返回
只是通过一些练习,这一个要求创建一个骰子辊,将产生一个随机数。该函数的参数应为(骰子上的边数、卷数) 如果我只使用return,它将停止循环。我知道解决这个问题的一种方法是合并答案并打印出来,但是如果答案的数量(在这种情况下是滚动)是一个变量呢 这是我的密码: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
#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]