вопрос по циклам в python - PullRequest
       33

вопрос по циклам в python

3 голосов
/ 26 февраля 2009

Я хочу вычислить пифагорейские триплеты (код ниже), и я хочу вычислять бесконечно, как мне это сделать, не используя три цикла 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()  

Ответы [ 12 ]

0 голосов
/ 26 февраля 2009

Если вы хотите считать до бесконечности ..

Создать функцию генератора, которая отсчитывает от нуля и никогда не останавливается, и использовать для нее цикл for

def inf():
   i = 0
   while True:
     yield i
     i = i + 1

for i in inf():
    print i  # or do whatever you want!

Я не знаю, есть ли такая встроенная функция

0 голосов
/ 26 февраля 2009

Помимо того, что уже было опубликовано, люди ожидают три цикла для трех коллекций. Все остальное может стать очень запутанным и не даст никакой дополнительной выгоды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...