Это потому, что есть 2 значения, которые удовлетворяют вашему условию:
if (c * c) == a *a + b*b and a + b + c == 1000:
Вы можете отладить код или просто добавить дополнительную информацию в массив, например:
def pythagorean(n):
aAndB = []
for a in range(150, n-1):
for b in range(150, n):
for c in range(150,n+1):
if (c * c) == a * a + b * b and a + b + c == 1000:
aAndB.append({'a': a, 'b': b, 'c': c})
return aAndB
result = pythagorean(500)
for v in result:
print(v)
Такесли вы хотите только один элемент - выберите какой из массива 'result'.Например, если вы хотите только сначала:
first_element = None
if len(result) > 0:
first_element = result[0]
print('First element:', first_element)