2016-11-18 2 views
-4

Ich versuche, eine Liste ohne Klammern zu drucken.Python 3 Druckliste ohne eckige Klammern

mein Code:

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) 

Meine Ausgabe ist:

Enter a value: 100 
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 

Ich erwarte das .join() bekommen von den Klammern zu befreien, aber es wird nur die Zitate befreien. Das ist besonders merkwürdig, weil es sie bei der Verwendung zuvor entfernt hat.

+0

Sie müssen wirklich Ihren Code und Ausgabe in Ihrer Frage selbst stellen. Bilder von Code machen es für jedermann unmöglich, Ihren Code zu kopieren und einzufügen, damit er ausgeführt werden kann. Der Grund dafür ist, dass Sie einer Liste beitreten, weil Sie keiner Liste beitreten. –

+0

Ich habe versucht, aber das Format war alles durcheinander. Es würde keine neuen Zeilen oder Gedankenstriche akzeptieren. Ich werde es aber bearbeiten. –

+0

Markieren Sie den Code und drücken Sie Strg + K. –

Antwort

0

Dies ist, weil Sie str(listofsquares) aufrufen, die eine Zeichenfolge zurückgibt, die die Listofsquares-Liste, nämlich [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] in Ihrem Beispiel darstellt. In diesem Fall fügt auch " ".join(str(listofsquares)) eine Liste der Zeichen hinzu, die die obige Zeichenfolge mit dem Leerzeichentrennzeichen bilden, was die Zeichenfolge [ 0 , 1 , 4 , 9 , 1 6 , 2 5 , 3 6 , 4 9 , 6 4 , 8 1 ] ergibt.

denke ich, was Sie versuchen, eine Zeichenfolge Druck mit den Zahlen durch Leerzeichen getrennt zu erreichen ist, die Sie durch die Liste Verständnis erreichen:

" ".join([str(num) for num in listofsquares]) 
+2

warum erstellen Sie eine andere Liste, wenn Sie nur str Werte an erster Stelle anhängen könnten? scheint mehr Arbeit als nötig – MooingRawr

+0

Das ist eine andere gültige Option. –

+0

Oder einfach '" ".join (str (num) für num in der Liste der Stellen)' –

Verwandte Themen