Python 3.x 如何打印列表?

Python 3.x 如何打印列表?,python-3.x,list,printing,Python 3.x,List,Printing,所以我在写一个代码,列出小于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 n=int(输入(“输入编号”)) 计数器=1 当

所以我在写一个代码,列出小于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
n=int(输入(“输入编号”))
计数器=1
当计数器*计数器

如果我能得到一些帮助,我将不胜感激。

您可以取消
while
循环的需要,并使用pythons
range
函数生成最多
n
的数字,并使用
for
循环对其进行迭代。您还需要初始化一个
列表
,以便在循环开始之前将它们存储在中。然后循环的每次迭代都会在列表中添加一个平方数

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]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
[1, 4, 9, 16, 25, 36, 49]
虽然这可以用pythons列表理解风格来简化

n=int(input("input number: "))
squares = [num * num for num in range(1, n)]
print(squares)
n=10的输出

[1, 4, 9, 16, 25, 36, 49, 64, 81]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
[1, 4, 9, 16, 25, 36, 49]
根据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, 4, 9, 16, 25, 36, 49, 64, 81]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
[1, 4, 9, 16, 25, 36, 49]

对于下一个代码,尽量避免让两个变量计数器做不同的事情…根据我的说法,“列出小于n的平方数”应该停在10,而不是100。。。但由于莱迪克可以修复代码,我想这没关系@B.哦,是的,我明白你的意思,我把它理解为从1到N的数字,但不包括N。但我明白你的意思,它应该列出下面的所有平方数。我已经更新了我的答案,以解决打印平方数小于N的问题