Python Leerzeichen zwischen variablen?
Ich habe eine Frage zu Python Ich möchte eine lehrzeile zwischen zwei variablen bringen mein script Sieg so aus: var1 = ("irgendwas") var2 = ("irgendwas")
print ("var1+var2") Bei mir kommt dann beim ausführen raus: irgendwasirgendwas Wie kann dazwischen ein Leerzeichen zwischen die Wörter bringen?
Danke 😀😀
4 Antworten
Hey,
Du sagst einfach
print var1 + " " + var2
zu empfehlen wäre es auch z.B. Platzhalter zu benutzen also:
print "%s %s" % (var1, var2)
der vorteil gegenüber + ist dass du das was in var1 und var2 steht direkt in ein string konvertierst (dafür steht das "s" in "%s")
Wenn du nämlich sagst var1 + var2, und in var1 ein int drin steht und in var 2 ein string, gibt es einen Fehler da du ja versuchst eine zahl mit einem String zu addieren.
MfG
Freddy
Also ich habe es gerade mal bei mir getestet wenn der Code wie folgt aussieht sollte es aber gehen:
import os x = raw_input("first var") y = raw_input("second var") os.system("echo %s %s" % (x, y)) #oder in deinem aufbau os.system("echo " + x + " " + y)
aber was mir aufgefallen ist (was wahrscheinlich auch dein Fehler ist) du musst einfach nach dem "echo" ein leerzeichen setzen
also genau so: os.system("echo ")
klappt leider immer noch nicht er schreibt immer noch kein Leerzeichen dazwischen.
Guten Abend,
es gibt durchaus unterschiedliche möglichkeiten wie andere Nutzer schon beschrieben haben. Ich benutze ausschließlich 'format' dazu, da ich es als sehr "mächtig" empfinde aber es auch sehr gut lesen kann. (Eigene Meinung)
print("{0} {1}".format("irgendwas", "irgendwas"))
Du kannst auch die Zahlen weglassen solange du nichts kompliziertes machst.
z.B
a = [1,2,3]
print("{0[0]} {0[1]} {0[2]}".format(a))
Hier findest du mehr informationen darüber https://docs.python.org/3.1/library/string.html (7.1.3. Format String Syntax)
Regards
Sehr schön, dass mal jemand auf "format()" hinweist. :)
Eigentlich gilt die Form der Formatierung mithilfe von % als veraltet, und wird laut den API-Docs nicht mehr empfohlen.
Leider ist diese Form aber die schnellste Quick-n-Dirty Möglichkeit und wird deshalb vermutlich nicht allzu schnell aussterben.
Neben dem Ansatz von xXFreddy kannst du auch folgendes machen:
vars = (var1, var2)
print(' '.join(vars))
PS: Der Standardseparator bei Pythons print() ist sowieso ein Leerzeichen, also wenn es dir nur auf die Ausgabe ankommt, kannst du auch einfach Folgendes schreiben:
print(var1, var2)
Du kannst es auch so machen:
print(var1+" "+var2)
Mit vielen Grüßen Green.
vielleicht hatte ich sagen sollen das ich es im module OS benutze das ist mein script import OS x = raw_input("irgendwas") y = raw_input("irgendwas") os.system("echo" + x + y)