【发布时间】:2019-02-07 14:45:20
【问题描述】:
我有以下代码,我试图在其中形成一个数组'opt'。在这里,我采用了 'pos_set' = [1, 2, 3] 的三个可能值,并且以类似的方式,我可以扩展它。但是,我只想要一个用于 pos_set 的任何可能整数值的通用代码。
opt = []
if pos_set == 1:
for j in range(1, n):
opt.append([j])
elif pos_set == 2:
for j in range(1, n):
for k in range(j+1, n):
opt.append([j, k])
elif pos_set == 3:
for j in range(1, n):
for k in range(j+1, n):
for l in range(k+1, n):
opt.append([j, k, l])
为了更清楚起见,我这样做的目的是收集所有可能性,如果你滚动一个 n 面骰子,并且只要你继续滚动更大的值,就继续这样做。
例如,如果您掷出一个序列 1-2-6-4,在这种情况下,是在一个更大的数字之后得到一个 4 之后。 6、你停止滚动。同样,如果您掷出一个序列 1-2-6-6,在这种情况下,您会得到一个重复的 6,因此您停止,因为它不大于您之前的掷骰。我正在考虑在发生较小或相同数字之前的情况,即两种情况下的 [1, 2, 6]。
如果你们能帮助我,我将不胜感激。
【问题讨论】:
-
[[1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [2, 3], [2, 4], [2, 5], [2, 6], [3, 4], [3, 5], [3, 6], [4, 5], [4, 6], [5, 6]]是 pos_set =2 的正确输出吗? -
是的,你没看错。 :)
标签: python python-3.x loops for-loop logic