range(1, limit) 内の数値が 2 つの平方数の合計であるかどうかを返すコードを作成しようとしています ( などの平方数- したがって1**2 = 1
、2**2 = 4
それらが合計されているかどうかを数値のリストに割り当てようとしていますこれらの平方数の任意の組み合わせ - 例: 1+1、1+4、4+16 など)。以下は私が書いたものですが、すべての値に対して「Not squared」を返していますが、これは間違っています。おそらくコードに 1 つの小さな要素が間違っていると思いますが、私はこれにかなり慣れていないため、それが何であるかを理解するのに苦労しています。ご指導いただければ幸いです。
コード:
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"