大家好
题目是假设给一个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的结果
但没有成功
A<0还是包含0啊,而且你何不counter从1开始
作者:
qwxr (kekeanHsian)
2019-06-23 23:31:00A<=0 不就可以了吗差点误导你 还得把counter自加转到条件语句的上面
作者:
oToToT (å±å©)
2019-06-24 01:03:00那个counter+1<math.sqrt(n)要干嘛阿
counter从1开始就可以了(终于..)谢谢!! 回楼上 因为之前我的答案是从1开始 但包含n本身 所以也fail
这逻辑满乱的 建议你可以用for循环重写 不要用while