使用for循环

时间:2017-08-26 13:38:06

标签: python

我想制作一个简单的老虎机。机器应该是5 * 3大插槽。有两个项目:0和1. 0表示没有,1表示胜利。到目前为止我的代码:

import random

# slot machine
# [][][][][]
# [][][][][]
# [][][][][]

machine = [
    (), (), (), (), (),
    (), (), (), (), (),
    (), (), (), (), ()
]

for slot in machine:
    random.randrange(2)

因此在for循环中生成了15个数字(0或1),它们应该进入槽(元组)。

2 个答案:

答案 0 :(得分:2)

只需使用列表理解:

machine = [random.choice([0, 1]) for i in range(15)]

示例输出:

>>> print(machine)
>>> [0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0]

如果您想要“矩阵”,则可以执行以下操作:

machine = [[random.choice([0, 1]) for i in range(5)] for j in range(3)]

示例输出:

>>> for row in matrix:
...     print(row)
[0, 0, 0, 1, 0]
[1, 1, 1, 0, 1]
[1, 0, 0, 1, 1]
>>>

答案 1 :(得分:0)

import random

machine = []
for x in range(3):
    machine.append([random.randrange(2) for i in range(5)])
print(machine)

示例输出:

[[0, 0, 0, 1, 1], [0, 0, 1, 0, 0], [0, 1, 1, 0, 0]]

单线解决方案,但更难以阅读某些人可能是:

import random
print([[random.randrange(2) for i in range(5)] for x in range(3)])