Leute ich hab ein Problem, ich bin ein Anfänger in Python und wollte mit was einfachem beginnen.
Leider wird mir bei dem zweiten print ein Fehler angezeigt, Invalid Syntax, was mache ich Falsch?
n = input("Was ist dein Name? ")
a = input("Wie alt bist du? ")
f = input("Was ist deine lieblingsfarbe? ")
h = input("Was ist dein Hobby? ")
print ("Dein Name ist also ") print"n" print(", du bist") print"a" print(" Jahre alt, magst die Farbe") print"f" ,print(" und dein Hobby ist") print"h" print("?")
Abfrage und Wiedergeben
Bitte zitiere deinen Code korrekt. Einrückungen und Zeilenumbrüche sind wichtig in Python. Du solltest auch die von dir verwendete Python-Version angeben.
Du musst nur hier im Editor den Code markieren und dann in der Box "Code auswählen" den Eintrag "PY (Python)" anklicken.
Falls dein Code allerdings wirklich auch im Editor so aussehen sollte wie er hier aktuell angezeigt wird, dann ist am Code einiges aufzuräumen. Warum verwendest du print mal mit Klammern und mal ohne? Warum glaubst du, dass print "n" nicht den Buchstaben n, sondern die Variable n ausgeben sollte?
Du musst nur hier im Editor den Code markieren und dann in der Box "Code auswählen" den Eintrag "PY (Python)" anklicken.
Falls dein Code allerdings wirklich auch im Editor so aussehen sollte wie er hier aktuell angezeigt wird, dann ist am Code einiges aufzuräumen. Warum verwendest du print mal mit Klammern und mal ohne? Warum glaubst du, dass print "n" nicht den Buchstaben n, sondern die Variable n ausgeben sollte?
Ok tut mir leid bin neu hier Ich benutze die Version 3.6.4, ich hab den code jetzt etwas verändert, aber geht immer noch nicht. Kann mir einer von euch sagen wo der Fehler liegt?
n = input("Was ist dein Name? ")
a = input("Wie alt bist du? ")
f = input("Was ist deine lieblingsfarbe? ")
h = input("Was ist dein Hobby? ")
sys.stdout.write("Du heißt also" (n)", bist"(a)" Jahre alt, magst die Farbe"(f)" und dein Hobby ist"(h)"?")
tut mir leid, blicke da mit der Codebox nicht richtig Durch
n = input("Was ist dein Name? ")
a = input("Wie alt bist du? ")
f = input("Was ist deine lieblingsfarbe? ")
h = input("Was ist dein Hobby? ")
sys.stdout.write("Du heißt also" (n)", bist"(a)" Jahre alt, magst die Farbe"(f)" und dein Hobby ist"(h)"?")
tut mir leid, blicke da mit der Codebox nicht richtig Durch
Mit welchem Buch oder Tutorial lernst du? Der Weg über sys.stdout ist definitiv nicht nötig. Unabhängig davon möchte die write-Methode genau einen Parameter haben. Du versuchst aber irgendetwas völlig kurioses.Dembrix hat geschrieben:Code: Alles auswählen
sys.stdout.write("Du heißt also" (n)", bist"(a)" Jahre alt, magst die Farbe"(f)" und dein Hobby ist"(h)"?")
"Du heißt also" (n) führt nicht dazu, dass hier Texte zu einem String zusammengesetzt werden. Es sind auch nicht mehrere Parameter (was hier ohnehin falsch wäre), denn dazu fehlt ein trennendes Komma. Die Klammern führen dazu, dass "Du heißt also" als Funktion betrachtet wird, die mit dem Parameter n aufgerufen wird. Vermutlich wolltest du einfach alles als String verketten: "Du heißt also "+ n + "bist " + a ...
Schön ist das aber auch nicht. Was du eigentlich möchtest ist eher so etwas:
Code: Alles auswählen
print("Du heißt also", n, ", bist", a, "Jahre alt, magst die Farbe", f, "und dein Hobby ist", h, "?")
Code: Alles auswählen
print('Dein Name ist also {0}, du bist {1} Jahre alt, magst die Farbe {3} und dein Hobby ist {2}?'.format(n, a, h, f))
Alternativ kann man es auch etwas deskriptiver machen:
Code: Alles auswählen
print('Dein Name ist also {name}, du bist {alter} Jahre alt, magst die Farbe {farbe} und dein Hobby ist {hobby}?'.format(name=n, alter=a, hobby=h, farbe=f))
Code: Alles auswählen
print('Dein Name ist also seit {alter} Jahren immer noch {name}, du magst die Farbe {farbe} und dein Hobby ist {hobby}?'.format(name=n, alter=a, hobby=h, farbe=f))
Das ist ja kein Problem, wir helfen ja gerne. Mich hatte halt nur interessiert durch das Studium welchen Tutorials man auf solchen Code kommt.Dembrix hat geschrieben:Bin wie gesagt ein Anfänger und komplett neu in diesem Berreich