大家好~
不好意思又來打擾
我今天忙完其他作業
又打開練習 重新寫一次
如下:
n=int(input())
counter=0
while counter*counter<n:
counter=counter+1
print(counter*counter)
但我的答案都會包含最後一個數值
例如n是36
我的答案都會包含36
但題目要的答案是 1 4 9 16 25
我的會多一個
思考了大約一小時還沒想出我的問題出在哪?
請問各位前輩我是否遺忘了什麼?
至於為何用while
因為給我的範例是用while
我也覺得改起來還蠻好理解的
我是蠻疑惑我明明寫counter*counter<n
是否該加一個 if ((counter+1)*(counter+1)=n): break ?
謝謝大家!
※ 引述《AmigoSafin ()》之銘言:
: 大家好
: 題目是假設給一個n
: 要print出小於n的square number
: 例如 n給25
: 則print出 1 4 9 16
: 我的code會把0也print
: 提示說就是寫一個while loop
: 所以我也就是照提示寫 如下:
: 還請各位高手幫忙 謝謝!
: import math
: n=int(input())
: counter=0
: while counter*counter<n:
: A=counter*counter
: if (A<0):
: continue
: counter = counter+1
: counter+1 <math.sqrt(n)
: print(A)
: 我試圖想要讓print只給我大於0的結果
: 但沒有成功