[问题] 简单的循环问题

楼主: 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