我有一个整数列表和一个 input 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 中的内置函数的情况下做到这一点。