所以我正在写一个代码,列出低于n的平方数。 我希望输出为列表。像这样:[1、4、9、16]等。
n=int(input("input number: "))
counter = 1
while counter * counter < n:
for counter in range(1,n):
a = counter*counter
print (a)
if a < n:
break
如果能得到帮助,我将非常感激。
您可以消除对while
循环的需要,并利用pythons range
函数生成最多n
的数字,并使用for
循环遍历它们。您还需要初始化list
以将其存储在循环开始之前。然后循环的每次迭代都会将平方数附加到列表中。
n=int(input("input number: "))
squares = []
for num in range(1,n):
squares.append(num * num)
print(squares)
n = 10的输出
[1,4,9,16,25,36,49,64,81]
尽管可以使用pythons列表理解样式简化为
n=int(input("input number: "))
squares = [num * num for num in range(1,n)]
print(squares)
n = 10的输出
[1,81]
根据B. Go的评论进行更新
用户B. Go指出我的答案是将所有平方数的结果打印到N的值。但是问题实际上是打印所有小于N的平方数。下面的代码打印小于N的平方
n=int(input("input number: "))
squares = []
for num in range(1,n):
result = num * num
if result >= n:
break
squares.append(num * num)
print(squares)
输出N = 50
[1,49]