没有方括号的Python 3打印列表
我想打印一个没有括号的列表。没有方括号的Python 3打印列表
我的代码是:
import math
bignumber = int(input("Enter a value: "))
listofsquares = []
for counter in range(bignumber):
squareroot = math.sqrt(counter)
if squareroot.is_integer():
square = squareroot*squareroot
listofsquares.append(int(square))
" ".join(str(listofsquares))
print(listofsquares)
我的输出是:
Enter a value: 100
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
我期待的。加入()摆脱括号,但它不仅摆脱了报价。这是特别奇怪的,因为之前使用它时已经删除了它们。
这是因为你打电话给str(listofsquares)
,它会返回一个代表listofsquares列表的字符串,即你的例子中的[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
。另外,在这种情况下," ".join(str(listofsquares))
正在使用空格分隔符连接上面组成字符串的字符列表,这将导致字符串[ 0 , 1 , 4 , 9 , 1 6 , 2 5 , 3 6 , 4 9 , 6 4 , 8 1 ]
。
我猜你想要实现印刷与空间整除的数,您可以通过列表理解达到一个字符串:
" ".join([str(num) for num in listofsquares])
为什么要创建另一个列表,当你可以在第一个地方追加str值?似乎比需要更多的工作 – MooingRawr
这是另一个有效的选择。 –
或者只是'“”.join(在listofsquares中为数字的str(num))' –
你真的需要把你的代码和输出你的问题本身。代码图像使任何人都无法复制和粘贴代码,以便他们可以运行代码。另外,它这样做的原因是因为你没有加入列表,所以你加入了一个字符串。 –
我试过了,但格式都搞砸了。它不会接受新的行或缩进。虽然我会编辑它。 –
突出显示代码并按Ctrl + K. –