[問題] 簡單的迴圈問題

作者: AmigoSafin   2019-06-23 22:35:44
大家好
題目是假設給一個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的結果
但沒有成功
作者: XperiaZ6C (真●安卓輕旗艦)   2019-06-23 23:28:00
A<0還是包含0啊,而且你何不counter從1開始
作者: qwxr (kekeanHsian)   2019-06-23 23:31:00
A<=0 不就可以了嗎差點誤導你 還得把counter自加轉到條件語句的上面
作者: oToToT (屁孩)   2019-06-24 01:03:00
那個counter+1<math.sqrt(n)要幹嘛阿
作者: AmigoSafin   2019-06-24 11:16:00
counter從1開始就可以了(終於..)謝謝!! 回樓上 因為之前我的答案是從1開始 但包含n本身 所以也fail
作者: yushes920179 (樂冰)   2019-07-04 22:36:00
這邏輯滿亂的 建議你可以用for迴圈重寫 不要用while
作者: AmigoSafin   2019-07-08 01:31:00
我今天又再寫一次 又包含n 所以我又回來看orz

Links booklink

Contact Us: admin [ a t ] ucptt.com