it-swarm.com.de

Wie füge ich nach einem Ausdruck in Python Leerzeichen zwischen zwei Variablen hinzu?

Ich bin relativ neu in Python, also versuche ich mich mit einfachem Code. In einer der Methoden soll mein Code jedoch links einige Zahlen in Zoll und rechts die Umwandlung der Zahlen anzeigen.

count = 1
conv = count * 2.54
print count, conv

Ich möchte, dass die Ausgabe mit etwas Abstand zwischen ihnen gedruckt wird.

count = 1
conv = count * 2.54
print count,     conv

Ich kann nicht herausfinden, wie das geht. Ich habe überall gesucht, aber alles, was ich finden kann, sind Leute, die versuchen, den Weltraum zu beseitigen. Wenn mich jemand einfach in die richtige Richtung führen könnte, wäre ich dankbar.

Oh, und ich habe gerade gemerkt, dass ich benutze Python 2.7, nicht 3.x . Nicht sicher, ob dies wichtig ist.

8
Hebon

Ein einfacher Weg wäre:

print str(count) + '  ' + str(conv)

Wenn Sie mehr Leerzeichen benötigen, fügen Sie sie einfach zur Zeichenfolge hinzu:

print str(count) + '    ' + str(conv)

Eine schickere Art, die neue Syntax für die String-Formatierung zu verwenden:

print '{0}  {1}'.format(count, conv)

Oder verwenden Sie die alte Syntax und beschränken Sie die Anzahl der Dezimalstellen auf zwei:

print '%d  %.2f' % (count, conv)
8
Óscar López

Verwenden Sie stattdessen string Interpolation .

print '%d   %f' % (count,conv)

Alternativ können Sie ljust/rjust verwenden, um die Formatierung schöner zu gestalten.

print "%s%s" % (str(count).rjust(10), conv)

oder

print str(count).ljust(10), conv
3
Gladius

Eine schnelle Warnung, eine recht wortwörtliche Antwort.

drucken ist manchmal schwierig, ich hatte einige Probleme damit, als ich anfing. Sie möchten ein paar Leerzeichen zwischen zwei Variablen, nachdem Sie sie richtig gedruckt haben? Es gibt viele Möglichkeiten, dies zu tun, wie in den obigen Antworten gezeigt.

Dies ist dein Code:

count = 1
conv = count * 2.54
print count, conv

Es gibt folgende Ausgabe:

1 2.54

Wenn Sie Leerzeichen dazwischen möchten, können Sie dies auf naive Weise tun, indem Sie eine Reihe von Leerzeichen dazwischen einfügen. Die Variablen count und conv müssen in String-Typen konvertiert werden, um sie miteinander zu verketten. Dies geschieht mit str ().

print (str(count) + "           " + str(conv))
### Provides an output of:
1           2.54

Dies ist der neuere, mehr pythonische Weg. Wir verwenden das% -Zeichen in Verbindung mit einem Buchstaben, um den Wert anzugeben, den wir verwenden. Hier verwende ich Unterstriche anstelle von Leerzeichen, um anzuzeigen, wie viele es gibt. Das Modulo vor den letzten Werten teilt Python lediglich mit, die folgenden Werte in der von uns angegebenen Reihenfolge einzufügen.

print ('%i____%s' % (count, conv))
### provides an output of:
1____2.54

Ich habe% i für count verwendet, weil es eine ganze Zahl ist, und% s für conv, weil die Verwendung von% i in diesem Fall "2" anstelle von "2.54" hätte. Technisch hätte ich beide% s verwenden können, aber es ist alles gut.

Ich hoffe das hilft!

-Joseph

PS Wenn Sie mit Ihrer Formatierung kompliziert werden möchten, sollten Sie bei prettyprint große Textmengen wie Wörterbücher und Tupel-Listen (als Pprint importiert) sowie , Das automatische Registerkarten ausführt, betrachten. Abstand und anderer cooler Müll.

Weitere Informationen zu Zeichenfolgen in den Python-Dokumenten: http://docs.python.org/library/string.html#module-string

2
Joseph Daniels

Dies ist eine dumme/hackige Art und Weise

print count,    
print conv
1
Cadoo

Sie können dies in python3 folgendermaßen tun:

print (a, b, end = "")

1
Shravya Mutyapu

Sie sollten das explizite Python-Konvertierungsflag PEP-3101 verwenden

'My name is {0!s:10} {1}'.format('Dunkin', 'Donuts')

'My name is Dunkin Donuts'

oder 

'My name is %-10s %s' % ('Dunkin', 'Donuts')

'My name is Dunkin Donuts'

https://www.python.org/dev/peps/pep-3101/

0
knittledan

print str(count) + ' ' + str(conv) - Das hat nicht funktioniert. Das Ersetzen von + durch , funktioniert jedoch für mich

0
Daniel