Frage von jonahgrothus, 58

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 😀😀

Antwort
von TeeTier, 22

Neben dem Ansatz von xXFreddy kannst du auch folgendes machen:

vars = (var1, var2)
print(' '.join(vars))
Kommentar von TeeTier ,

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)
Antwort
von xXFreddy, 30

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

Kommentar von jonahgrothus ,

klappt leider immer noch nicht er schreibt immer noch kein Leerzeichen dazwischen.

Kommentar von jonahgrothus ,

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)

Kommentar von xXFreddy ,

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 ")

Kommentar von jonahgrothus ,

danke jetzt klappt alles

Antwort
von GreenSkyP, 4

Du kannst es auch so machen:

print(var1+" "+var2)

Mit vielen Grüßen Green.

Antwort
von LifeArtist1, 20

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



Kommentar von TeeTier ,

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.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten