【发布时间】:2020-12-09 17:13:36
【问题描述】:
for i in range(0,x):
for j in range(0,y):
if (i+j)%2 == 0:
想象一下同时抛两个骰子,然后找出骰子的总和是否为偶数,但问题是,骰子有 6 个面,但这里两个可以有任意数量的大小,相等或不相等平等甚至! 谁能建议如何将它合并到一个循环下,因为我想不出任何?
【问题讨论】:
-
你想做什么?没有上下文:这是一个降低复杂性的程序:
pass -
我们不知道您要做什么 - 例如,如果条件不满足怎么办?您使用任何值吗?还是只生成满足条件的
j的值? -
这能回答你的问题吗? Python Reducing Nested Loops
-
您所写的内容表明您正在使用网格,如果是这样,那么一定要保持其最易读的方式。将其变成一个循环最终将具有相同的复杂性(因为您将使用
range(x*y))并且性能变化不大:) -
不,就像想像同时掷两个骰子并找出骰子上的总和是否为偶数,但这里有一个问题,一个骰子有 6 个面,但这里两个可以有任何大小的数量,相等和不相等!
标签: python nested-loops