0

我被要求编写一个程序,打印所有小于一个输入的平方数。但是,这段代码中有一个非常轻微的问题,我似乎无法确定:

from math import sqrt
n=int(input())
counter = 0
while counter * counter < n:
   counter = counter + 1
   print(counter * counter)

看,问题是,它打印了所有正确的方格,还有输入的方格。有人可以告诉我如何解决这个问题吗?谢谢您的帮助。

4

1 回答 1

3

只需将增量向下移动一行并从 1 开始计数:

n=int(input())
counter = 1
while counter * counter < n:
   print(counter * counter)
   counter += 1

在您的代码中,在对其进行测试之后打印正方形之前counter递增。所以即使小于,也不必为。ncounter * countern(counter + 1) * (counter + 1)

通过将增量向下移动一行,您可以正确打印counter * counter您刚刚测试的值n

于 2013-02-19T14:54:49.433 回答