在c ++中
for (auto i = min; i < sqrt_max; i++ ) {
for (auto j = i; i*j <= sqrt_max; j++) {
我正在尝试在python中做同样的事情
for i in enumerate(range(min, sqrt_max + 1)):
for j in enumerate(range(min, i * j < sqrt_max + 1)):
我得到undefined name j
答案 0 :(得分:0)
enumerate(..)
。 enumerate
采取的措施是为其参数中的每个index, element
返回一对element
。j
,因为它仅在for循环体内定义。您想要的东西如下:
for i in range(min, sqrt_max): # i will not take the value of sqrt_max.
for j in range(i, 1 + sqrt_max//i): # i is defined here within range, but j is not.
...