作者AmigoSafin ()
看板Python
标题[问题] 简单的回圈问题
时间Sun Jun 23 22:35:44 2019
大家好
题目是假设给一个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的结果
但没有成功
--
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 68.180.87.229 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1561300547.A.253.html
1F:推 XperiaZ6C: A<0还是包含0啊,而且你何不counter从1开始 06/23 23:28
2F:推 qwxr: A<=0 不就可以了吗 06/23 23:31
3F:→ qwxr: 差点误导你 还得把counter自加转到条件语句的上面 06/23 23:34
4F:推 oToToT: 那个counter+1<math.sqrt(n)要干嘛阿 06/24 01:03
5F:→ AmigoSafin: counter从1开始就可以了(终於..)谢谢!! 回楼上 因为 06/24 11:16
6F:→ AmigoSafin: 之前我的答案是从1开始 但包含n本身 所以也fail 06/24 11:16
7F:推 yushes920179: 这逻辑满乱的 建议你可以用for回圈重写 不要用while 07/04 22:36
8F:→ AmigoSafin: 我今天又再写一次 又包含n 所以我又回来看orz 07/08 01:31