我想要6乘4个骰子,6个边(6 x 4d6),我试着得到一个像这样的循环:
import random
print random.randint(1, 6), random.randint(1, 6), random.randint(1, 6), random.randint(1, 6)
print random.randint(1, 6), random.randint(1, 6), random.randint(1, 6), random.randint(1, 6)
print random.randint(1, 6), random.randint(1, 6), random.randint(1, 6), random.randint(1, 6)
print random.randint(1, 6), random.randint(1, 6), random.randint(1, 6), random.randint(1, 6)
print random.randint(1, 6), random.randint(1, 6), random.randint(1, 6), random.randint(1, 6)
print random.randint(1, 6), random.randint(1, 6), random.randint(1, 6), random.randint(1, 6) code here
我试着这样做:
import random
import tempfile
roll = 0
rzuty = [] #dicethrows
wynik = [] #result
for x in range(6):
for y in range(4):
roll = random.randint(1,6)
rzuty.append(roll)
rzuty.sort()
rzuty.pop(0)
for z in xrange(len(rzuty)):
tempfile = rzuty
wynik.append(tempfile)
print (roll)
我只知道:
1
3
3
4
6
4
Process finished with exit code 0
我试了那么多东西,但都找不出哪里不对。我只是个初学者。你知道吗
作为一个基本的学习练习,让我们对代码进行演练:
这是一个好的开始,
rzuty
现在包含4个随机数(排序):现在你弹出最后一个号码:
现在
rzuty
包含[2,3,4]
。这是不对的,你不想在那里pop
调用,它会删除你的一个结果。你知道吗现在我们在
rzuty
上循环并设置tempfile
:这似乎是多余的,可以用
tempfile = rzuty
替换,而不使用for
循环。你知道吗现在
wynik == [[2,3,4]]
我们打印roll
的内容,我们可以从这个答案的顶部看到4
。(请注意,这是您在问题中强调的问题)最后一个大问题是没有在每个循环之后清除
rzuty
。这意味着您只需更改代码,使print(roll)
行更改为print(rzuty)
就可以继续追加roll了。我的最后一行输出是:总之,下面是一组工作代码(Python2.7):
输出示例:
只有两个循环,一个嵌套在另一个循环中,只打印出4*6=24个随机滚动结果。你知道吗
我假设这只会产生4个骰子,6个边一次。你知道吗
要产生6倍的结果,只需将代码放入另一个嵌套循环中,该循环循环6次。你知道吗
相关问题 更多 >
编程相关推荐