Я пытаюсь написать этот код на питоне, используя только циклы while, но я не знаю, что с ним не так?

avatar
sam
18 февраля 2016 в 03:29
90
1
0

Программа Python, которая выводит все пифогорейские тройки за указанный интервал. (a,b,c) состоит из трех целых чисел a < b < c таких, что сумма квадратов двух меньших целых чисел равна квадрату наибольшего. программа должна ввести от пользователя целочисленное значение n > 10 и с помощью серии вложенных циклов while определить и вывести все пифагоровы тройки со значениями гипотенузы ( длина c ) в отрезке [1, n] (одна тройка за строку).

n=int(input("Enter on upper bound> 10:"))
c=1
a=1
b=1
if (a**2) + (b**2) == (c**2):
print ( a, b, c)
while (a**2) + (b**2) != (c**2) and c<n :
    c=c+1
     while (a**2) + (b**2) != (c**2) and b<c:
        b=b+1
       while (a**2) + (b**2) != (c**2) and a<b:
         a=a+1
Источник
astrosyam
18 февраля 2016 в 03:43
0

вы можете перефразировать вопрос ... в настоящее время он немного сбивает с толку

Ответы (1)

avatar
jfsturtz
18 февраля 2016 в 03:38
1
interval = [20, 50]

a = interval[0]
while a <= interval[1]:
    b = interval[0]
    while b <= interval[1]:
        c = interval[0]
        while c <= interval[1]:
            if (a**2 + b**2) == c**2:
                print(a, b, c)
            c += 1
        b += 1
    a += 1
sam
18 февраля 2016 в 03:46
0

Я могу использовать только циклы while! @jfsturtz

astrosyam
18 февраля 2016 в 03:47
0

почему только цикл while?

sam
18 февраля 2016 в 04:30
0

@astrosyam Я пытаюсь научиться работать с вложенными циклами while.

sam
18 февраля 2016 в 04:43
0

@jfsturtz спасибо за ответ. У меня возник вопрос о том, как a<b<c включается в код?

jfsturtz
18 февраля 2016 в 18:10
0

Прости; Я изначально пропустил эту часть. Что-то вроде отредактированного примера выше ближе? Учитывается заданный интервал. Это не конкретно говорит a<b<c, но с учетом того, как определены циклы, это происходит каждый раз через цикл(ы).