2017-04-19 10 views
-1

Ich versuche, alle Großbuchstaben des Alphabets in der gleichen Zeile zu drucken, aber ich bekomme immer einen Syntaxfehler.Python - Drucken Alphabet in der Reihenfolge in der gleichen Zeile

for c in range(0, 26): 
    print(chr(ord('A', end '')+c)) 
+0

ord Funktion nimmt nur ein Argument. Sie können ord ('A') angeben und erhalten den Unicode-Punkt für 'A', der aus einer einzelnen Zeichenfolge besteht. Deshalb erhalten Sie einen Syntaxfehler. –

+4

Ein Tipp zum Stellen einer guten Frage: anstatt zu sagen * behalte einen Syntaxfehler *, zeige die genaue Fehlermeldung. –

+0

Mögliches Duplikat von [Wie in derselben Zeile in Python gedruckt werden] (http://stackoverflow.com/questions/33905032/how-to-print-on-the-same-line-in-python) – DeeJay

Antwort

1

Es gibt eine inbuild Funktion namens String für Sie

Um zu importieren alle Alphabete mit Groß zu drucken, dies zu tun:

import string 
print string.ascii_uppercase 

Wenn Sie ein Leerzeichen setzen wollen zwischen den Buchstaben können Sie das tun:

import string 
line = "" 
for i in list(string.ascii_uppercase): 
    line = line + i + " " 
print line 

Ich hoffe, es hat geholfen!

+0

Ich bin sicher, es hat geholfen, aber das beantwortet seine Frage nicht ... Warum der Syntaxfehler? – TerryA

+0

@TerryA Ich bin mir nicht sicher ... aber ich bin mir sicher, es wird nicht alle Großbuchstaben ausdrucken, auch wenn es keinen SyntaxError gibt – rcw

+0

@rcw Ich denke, du meintest die letzte Zeile zu sein "print line" –

4

ord() takes a single character, und konvertiert es in seine Unicode-Codestelle. Es benötigt nur einen Parameter. Es sieht so aus, als ob Sie die , end '' in den print() Aufruf platzieren möchten. Hier ist der aktualisierte Code:

for c in range(0, 26): 
    print(chr(ord('A')+c), end='') 
+0

Ich glaube das Ende '' ist für die Druckfunktion – TerryA

+0

@TerryA Natürlich werde ich meine Antwort aktualisieren – EthanBar

+0

Dies funktioniert teilweise aber. Aber Ende '' ist da, um zu versuchen, die Wörter in dieselbe Zeile zu stellen. Der Code, den du mir gegeben hast, druckt auf verschiedenen Zeilen und ich versuche, eine Ausgabe von ABCDEF zu bekommen ....... – BB956

0

Scheint wie die meisten Antworten auf diese haben einzelne Stücke richtig, aber nicht die ganze Lösung.

würde ich empfehlen:

result = "" 
for c in range(0, 26): 
    result += chr(ord('A')+c) 

print(result) 

Die Frage ist zweifach. Das Syntaxproblem wird durch , end '' als Parameter zu ord verursacht (es benötigt nur einen Parameter). Das Drucken über mehrere Zeilen hinweg wird durch die integrierte Druckfunktion von Python verursacht, die immer neue Zeilen anfügt. Um dies zu beheben, können Sie die Ergebnisse einfach in einer Zeichenfolge speichern und diese endgültige Zeichenfolge drucken, wenn Sie mit der Erstellung fertig sind. Sie können auch ein Array wie ArrayVariableName.append(chr(ord('A')+c)) und dann print(''.join(ArrayVariableName)) verwenden. (Ich habe das nicht getestet, aber es sollte funktionieren.)

Verwandte Themen