为什么会这样?一些优化?
代码:
n = 3
for i in range(0, n):
left = (int(i-1) % (n-1))
right = (int(i+1) % (n-1))
print(left, right)
输出:
1 1
0 0
1 1
答案 0 :(得分:-1)
如何看待数学问题。
l = i - 1
m = i + 1 = l + 2
(不确定在这里如何使用mathjax)
然后您要进行模块化算术
l % n - 1 = l % 2 = k
然后选择合适的
m % n - 1 = m % 2 = (l + 2) % 2 = l % 2 + 2 % 2 = l % 2 + 0 = k
因此,这两个mod计算都将获得相同的输出。
答案 1 :(得分:-2)
似乎我是某种迭代器,并且不支持加法/减法
固定:
n = 3
for i in range(0, n):
left = (int(i)+1 % (n-1))
right = (int(i)-1 % (n-1))
print(left, right)