Wie füge ich Leerzeichen zwischen zwei Variablen nach einem print in Python
Ich bin ziemlich neu in Python, also werde ich versuchen meine hand auf einige einfache code. Jedoch, in einem von der Praxis, mein code sollte auf dem display einige zahlen in Zoll auf der linken und die Umwandlung der zahlen auf der rechten Seite;
count = 1
conv = count * 2.54
print count, conv
Möchte ich die Ausgabe gedruckt werden, mit etwas Platz zwischen Ihnen;
count = 1
conv = count * 2.54
print count, conv
Ich kann nicht herausfinden, wie dies zu tun. Ich habe überall gesucht, aber alles was ich finden kann, sind Menschen, die versuchen, um loszuwerden, der Raum. Wenn jemand nur dazu führen mich in die richtige Richtung, wäre ich dankbar.
Oh, und ich erkannte, dass ich verwende Python 2.7, nicht 3.x. Nicht sicher, ob dies wichtig ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine einfache Möglichkeit wäre:
Wenn Sie brauchen mehr Räume, einfach fügen Sie die Zeichenfolge:
Einen eleganteren Weg, die neue syntax für string-Formatierung:
Oder mit der alten syntax, wodurch die Anzahl der Nachkommastellen auf zwei:
print count, conv
print str(count) + ' ' + str(conv)
es nur Maischen Sie zusammen, so dass Sie erscheinen als "12.54".print '{0} {1}'.format(count, conv)
. Ich glaube, das Problem, das ich hatte war einige nicht verwendete code an den Anfang. Wenn ich es entfernt, es hat die Traceback-Probleme, die ich immer war, und darf Ihren Vorschlag an die Arbeit. Das ist an sich verwirrt mich aber, da der gesamte code, der Tat, war Fragen, für einige nicht verwendete Eingänge.TypeError: unsupported operand type(s) for +: 'int' and 'str'
. Das ist einTypeError
, wie er sagt.Verwenden string-interpolation statt.
Inches Centimeters 1 2.540000
%f
Planer.Alternativ können Sie ljust/rjust, um die Formatierung schöner.
oder
printf
verwandten. Es ist einfacher zu verstehen als eineprintf
Formatbezeichner und genau das tut, was es auf dem zinn sagt.Eine kurze Warnung, dies eine ziemlich wortreiche Antwort.
drucken ist schwierig, manchmal hatte ich einige Probleme mit, als ich anfing. Was Sie wollen ist ein paar Leerzeichen zwischen zwei Variablen nach dem drucken richtig? Es gibt viele Möglichkeiten, dies zu tun, wie Sie im obigen Antworten.
Dies ist Ihr code:
Seine Ausgabe ist diese:
Wenn Sie wollen Räume, in zwischen, Sie können tun es die naive Art und Weise durch kleben eine Zeichenfolge mit Leerzeichen zwischen Ihnen. Die Variablen count und conv konvertiert werden müssen, um string-Typen zu verketten(verbinden) zusammen. Dies geschieht mit str().
Hierzu ist die neuere, mehr pythonic way, wir benutzen das % - Zeichen in Verbindung mit einem Buchstaben zu Kennzeichnen, welche Art von Wert wir verwenden. Hier benutze ich Unterstriche anstelle von Leerzeichen, um zu zeigen wie viele es sind. Der modulo-bevor die letzten Werte, die nur sagt python, um legen Sie die folgenden Werte, in der Reihenfolge, die wir zur Verfügung gestellt.
Ich genutzt in %ich bin für den Grafen, weil es eine ganze Zahl ist, und %s für conv, da %ich in diesem Beispiel würde uns mit "2" anstelle von "2.54" Technisch könnte ich habe sowohl %s, aber es ist alles gut.
Ich hoffe, das hilft!
-Joseph
P. S.
wenn Sie möchten, zu kompliziert mit deiner Formatierung, sollten Sie sich im prettyprint für große Mengen von text, wie Wörterbücher und Tupel Listen(importiert als pprint) sowie
die automatische Tabulatoren, Leerzeichen und anderen coolen Kram.
Hier einige weitere Informationen über Saiten in die python docs.
http://docs.python.org/library/string.html#module-string
Dies ist eine dumme/hacky Weg
print str(count) + ' ' + str(conv)
- Das hat nicht funktioniert. Allerdings ersetzen+
mit,
funktioniert bei mirSollten Sie die Verwendung von python Explizite Konvertierung Flagge PEP-3101
'My name is {0!s:10} {1}'.format('Dunkin', 'Donuts')
oder
'My name is %-10s %s' % ('Dunkin', 'Donuts')
https://www.python.org/dev/peps/pep-3101/
Einen einfachen Weg, um die Registerkarte zu verwenden, die
\t
tag.