У меня есть список целых чисел и вход x
. Я должен найти, есть ли в моем списке два числа, так что сумма их квадрата равна x
.Сопрячь все элементы в списке
Я сделал это с помощью:
def findsquare(n1, n2, inp):
result = n1*n1 + n2*n2
if result == inp:
return True
a = [2, -4, 6, 3, 9, 0 , -1, -9]
x = 45
i = 0
while i < (len(a)-1):
res = findsquare(a[i], a[i+1], x)
if res:
print "Match: " + str(a[i]) + ", " + str(a[i+1])
else:
print "No Match: " + str(a[i]) + ", " + str(a[i+1])
i = i+1
Проблемы с этим является элемент только по сравнению с его следующим элементом. Например, сравниваются 2 and -4
, сравниваются -4 and 6
. Я хочу, чтобы он сравнивал 2 с каждым элементом в списке, сравнивал -4 с любыми другими элементами в списке и так далее. Я хотел бы сделать это, не используя встроенную функцию в python.
Да, это он. Спасибо чувак. Ценить это! – pynovice