Seite 1 von 1
anfänger probleme :)
Verfasst: Sonntag 30. März 2008, 11:16
von Skuhl
Jo ich hab erst vor 2 tagen angefangen zu Programmieren mit python, da es ein kumpel von mir sehr empfohlen hat.
Muss sagen gefällt mir echt gut aber ich gebe in einem compiler vollgendes ein:
Code: Alles auswählen
Name = raw_input()
satz = "hy Name, wie, geht es dir?"
print satz
aber wen ich des ausühren will, geht nix, da muss irgendwo ein fehler sein
bitte net lachen, kann mir vorstellen das es ein richtig doofer anfänger fehler ist der eigentlich simpel zu beheben ist
aber ich hoffe es erklärt mir jemand gut den fehler, bitte.
Liebe grüsse aus der Schweiz
Andi
p.s. ich arbeite mit dem KDevelop auf SuSE 10.2, arbeite irgendwie nicht gerne mit der konsole direkt obwohl dann gibt es:
smot@linux-sbbm:~/xc> python xc.py
Peter
hy Name, wie, geht es dir?
smot@linux-sbbm:~/xc>
aus.
Verfasst: Sonntag 30. März 2008, 11:26
von CM
Hallo und willkommen im Forum,
Versuche mal
Code: Alles auswählen
name = raw_input("Wie heisst du denn? ")
print "Hallo %s, wie geht es dir?" % name
Mehr dazu findest Du im
Tutorial
Gruss
Christian
Re: anfänger probleme :)
Verfasst: Sonntag 30. März 2008, 11:58
von Leonidas
Hallo Skuhl, willkommen im Forum,
Skuhl hat geschrieben:p.s. ich arbeite mit dem KDevelop auf SuSE 10.2, arbeite irgendwie nicht gerne mit der konsole direkt obwohl dann gibt es:
Natürlich, denn die Ausgaben erscheinen auf stdout. Wenn du keine Konsole offen hast, dann siehst du die Ausgaben nicht. So einfach ist das.
Verfasst: Sonntag 30. März 2008, 13:11
von Skuhl
jo danke
bin jetzt bissl mit dem tutorial weiter gekommen
Jetzt is mir nur wieder etwas komisches pasiert, hab ne aufgabe nach tutorial gemacht, eine passwort + name abfragung aber wen ich auch falsches eingebe ist das eigentlich richtig
strange---->
Code: Alles auswählen
def passwort():
print "Dein name?: ",
eingabe = raw_input()
print "Zauberwort: ",
wort = raw_input()
if (eingabe, wort == "Skuhl, Pocus"):
print "Salut Skuhl !"
else:
print "weg von meinem Rechner !!"
passwort()
Verfasst: Sonntag 30. März 2008, 13:25
von Leonidas
``if (eingabe, wort == "Skuhl, Pocus"):`` -> ``if eingabe, wort == "Skuhl", "Pocus":``
Außerdem solltest du schauen, dass due die Einrückung mit konstant 4 Leerzeichen hinbekommst. Im Beispiel hast du einmal 4und einmal 3 Leerzeichen.
Verfasst: Sonntag 30. März 2008, 13:26
von Hyperion
Verfasst: Sonntag 30. März 2008, 13:44
von Skuhl
ok, vielen dank
geht ja schnell hier mit dem geholfen werden
Verfasst: Sonntag 30. März 2008, 13:51
von Skuhl
hmmm geht aber immer noch net,
Code: Alles auswählen
def passwort():
print "Dein name?: ",
eingabe = raw_input()
print "Zauberwort: ",
wort = raw_input()
if eingabe, wort == "Skuhl", "Pocus":
print "Salut Skuhl !"
else:
print "weg von meinem Rechner !!"
passwort()
gibt mir in der konsole dann:
smot@linux-sbbm:~/xc> python passwd-test.py
File "passwd-test.py", line 6
if eingabe, wort == "Skuhl", "Pocus":
^
SyntaxError: invalid syntax
smot@linux-sbbm:~/xc>
aus, auch ohne komma gibt es die gleiche fehlermeldung nur ist es dann das e von eingabe das falsch sein sollte
Verfasst: Sonntag 30. März 2008, 14:06
von CM
Kann es sein, daß Du
Code: Alles auswählen
def passwort():
login = raw_input("Dein name?: ")
passwd = raw_input("Zauberwort: ")
if login == "Skuhl" and passwd == "Pocus":
print "Salut Skuhl !"
else:
print "weg von meinem Rechner !!"
passwort()
möchtest?
Wie die anderen beiden auf ihre Vorschläge kommen, weiß ich nicht, aber das ist ohnehin ein Syntaxfehler. Hier beißt sich meine persönliche Logik und die Syntax. Was bedeutet denn 'if eingabe, ...' ? Der Interpreter, weiß es offenbar auch nicht
.
Gruß,
Christian
Verfasst: Sonntag 30. März 2008, 14:13
von Trundle
CM hat geschrieben:Wie die anderen beiden auf ihre Vorschläge kommen, weiß ich nicht, aber das ist ohnehin ein Syntaxfehler.
Weil man dann zwei Tupel vergleichen würde. Das funktioniert sogar, wenn man Klammern darum macht (wie eben in LCs, lambdas etc. auch).
Edit: Typos..
Verfasst: Sonntag 30. März 2008, 14:14
von Rebecca
Das Komma erzeugt normalerweise ein Tupel, in diesem Fall scheint das so nicht zu funktionieren, da muesste man Klammern:
Aber die Variante mit dem and finde ich da schon schoener.
Hier geht's ohne Klammern:
Verfasst: Sonntag 30. März 2008, 14:48
von Skuhl
boeh echt geil leute, fühle mich hier ja schon echt wohl, obwohl ich das gefühl habe euch bald auf die nerven zu gehen mit meiner fragerei
aber eben bin ein blutiger anfänger
werde mir jetzt gleich auch noch n buch bestellen über Python.
Verfasst: Sonntag 30. März 2008, 14:53
von CM
Mal zur Klarstellung:
Code: Alles auswählen
>>> a, b = 1, 1
>>> a, b == 1, 1
(1, True, 1)
>>> (a, b) == (1, 1)
True
Wenn der Ausdruck nicht zu lang wird, nutze ich meist "and". Aber das ist natürlich Geschmackssache. Aber die Variante ohne Klammer würde ich nicht nutzen wollen. Kann gut gehen, muß aber nicht.
Verfasst: Sonntag 30. März 2008, 14:57
von Leonidas
Hmm, wundert mich ein wenig, warum es da nur mit Klammern funktioniert. Da müssteman in der Grammatik nachschlagen, warum es das nicht tut.
Ansonsten finde ich die Tupel-Methode gar nicht mal schlecht, da man damit hässliche ``and``-Kaskaden vermeidet. Vielleicht mag ich auch einfach keine Schlüsselwörter.
Verfasst: Sonntag 30. März 2008, 19:52
von birkenfeld
Leonidas hat geschrieben:Hmm, wundert mich ein wenig, warum es da nur mit Klammern funktioniert. Da müssteman in der Grammatik nachschlagen, warum es das nicht tut.
Das Komma hat einfach eine ziemlich niedrige Priorität, u.a. auch niedriger als ==.
Ansonsten finde ich die Tupel-Methode gar nicht mal schlecht, da man damit hässliche ``and``-Kaskaden vermeidet. Vielleicht mag ich auch einfach keine Schlüsselwörter.
Nur leider ist die Methode langsamer, weil erst sinnlose Tupel gebaut werden müssen. Außerdem shortcuttet (:)) "and".
Verfasst: Sonntag 30. März 2008, 21:55
von Leonidas
birkenfeld hat geschrieben:Ansonsten finde ich die Tupel-Methode gar nicht mal schlecht, da man damit hässliche ``and``-Kaskaden vermeidet. Vielleicht mag ich auch einfach keine Schlüsselwörter.
Nur leider ist die Methode langsamer, weil erst sinnlose Tupel gebaut werden müssen. Außerdem shortcuttet (:)) "and".[/quote]
Das Tupel gebaut werden ist mir klar, aber zumindest im Fall von zweielementigen Tupel sollte das kein großes Problem sein, da die gecached sind. Das Kurzschließen von "and"... ja, stimmt - nur im vorliegenden Fall macht es für die Programmausführung keinen Unterschied.