关于python中的for循环的问题

mar*_*oln 3 python for-loop

我想用calaculate pythagorean三胞胎(下面的代码),我想无限制地计算如何在不使用三个for循环的情况下做到这一点?我可以用某种方式使用for循环吗?谢谢.

import math

def main():
    for x in range (10000, 1000):
        for y in range (10000, 1000):
            for z in range(10000, 1000):
                if x*x == y*y + z*z:
                    print y, z, x
                    print '-'*50

if __name__ == '__main__':
    main()  
Run Code Online (Sandbox Code Playgroud)

Can*_*der 8

一般来说,你不能.三个变量,三个循环.

但这是一个特例,没有人指出.您可以通过两个循环解决此问题.

另外,检查y,z和z,y没有意义.

哦,还有range(10000, 1000) = [].

import math

for x in range(1, 1000):
  for y in range(x, 1000):
      z = math.sqrt(x**2 + y**2)
      if int(z) == z:
        print x, y, int(z)
        print '-'*50
Run Code Online (Sandbox Code Playgroud)