loops を含む Python 101 タイプの問題で立ち往生しています。道順は次のとおりです。
平方数は、K × K の形式の整数です。たとえば、3 × 3 = 9 であるため、9 は平方数です。入力から整数 n を読み取り、n 未満のすべての正の平方数を 1 行に 1 つずつ出力するプログラムを作成します。昇順に。たとえば、入力が 16 の場合、正しい出力は次のようになります。
1
4
9
これは私がこれまでに持っているものですが、ある程度は機能しますが、永遠に実行されます。私のコードは if ステートメントに到達しないため、17 になる前に中断 (停止) します。
n = 17 とします。
n=int(input())
counter = 1
while counter * counter < n:
for counter in range(1,n):
a = counter*counter
print(a)
if a < n:
break
結果:
1
4
9
16
25
36
49
64
81