试图构建一段代码,返回 range(1, limit) 中的数字是否是两个平方数的总和(平方数,例如1**2 = 1
, 2**2 = 4
- 所以我试图将它们分配给一个数字列表,无论它们是总和任何这些平方数的组合 - 例如 1+1、1+4、4+16 等)。下面是我写的内容,但它对所有值都返回“未平方”,这是错误的。我认为代码可能存在一个小问题,但我对此很陌生,并且正在努力了解它是什么。我将非常感谢任何指导。
代码:
for n in range(1,21):
lst = range(1,21)
squares = [x**2 for x in lst]
for i in range(1, 21):
for x in range(1, 21):
if i in squares:
if x in squares:
n2 = i+x
if n2 == n:
print n, " - Sum of Squares"
else:
print n, " - Not a Sum of Squares"