Problem mit W.spiegels einführung (anfänger)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
robrobrob
User
Beiträge: 2
Registriert: Mittwoch 31. Dezember 2008, 23:44

Hallo,ich fange gerade an Python zu lernen und mach grad W.Spiegels "Einführung in Python" doch grad hat sich ein Problem aufgetan
Ich versuchte grad zu schreiben was er in seinem Text sagte:

Code: Alles auswählen

def passwort():
	print 'Passwortabfrage: '
	eingabe = raw_input()
	if (eingabe == ('GEHEIM'):
Ab da konnt ich nicht mehr weiterschreiben ich weiß auch nicht warum, er hats genau so beschrieben,
Könnt ihr mir vielleicht sagen was er oder ich anders schreiben sollte?
Wäre nett wenn ihr mir sagen könntet wo das Problem liegt.

Ich benutze die Python-Version 2.5.4 .
Unten drunter stand SyntaxError:invalid syntax und das ":" war rot markiert.
Entschuldigt,wenn ich euch mit meinen Anfänger-Problemen nerv, aber ich hab vorher noch nie programmiert und hab deswegen keine Erfahrungen.....

rob
hmmm....


mjooam
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Vieleicht liegt das Daran, dass du danach nichts eingegeben hast. Probiers mal so:
def passwort():
print 'Passwortabfrage: '
eingabe = raw_input()
if (eingabe == ('GEHEIM'):
print "ERFOLGREICH EINGELOGGT"
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

Mach mal noch ne schließende Klammer vor dem Doppelpunkt. Oder besser: Lass die öffnende hinter dem 'if' weg. Das ist in anderen Sprachen so üblich und notwendig, in Python nicht.

Stilistisch ist der Programmschnippsel ein bisschen fragwürdig: Das extra 'print' ist zum Beispiel unnötig, da du den Text auch 'raw_input' als Argument mitgeben kannst.

Ach ja: Fürs posten von Quellcode hier im Forum gibts das Code-Tag. Dann wird auch nicht die so wichtige Einrückung zerstört.
Zuletzt geändert von Pekh am Donnerstag 1. Januar 2009, 01:15, insgesamt 2-mal geändert.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Code: Alles auswählen

def passwort():
    print 'Passwortabfrage: '
    eingabe = raw_input()
    if eingabe == ('GEHEIM'):
        print "regestrierung erfolgreich"
    else:
        print "Falsches Passwort"
>>> passwort()
Passwortabfrage: GEHIM
regestrierung erfolgreich
>>> passwort()
Passwortabfrage: falsch
Falsches Passwort
>>>
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
robrobrob
User
Beiträge: 2
Registriert: Mittwoch 31. Dezember 2008, 23:44

Danke an Infact "Problem" gelöst
ich habe die Einrückungen nicht beachtet :roll:
Danke an die anderen für die schnelle Beantwortung meiner Frage ....
rob
hmmm....


mjooam
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Klammern um Strings sind auch nicht notwendig.
Benutzeravatar
roschi
User
Beiträge: 225
Registriert: Samstag 29. März 2008, 18:58
Wohnort: Thueringen, Deutschland
Kontaktdaten:

INFACT hat geschrieben:

Code: Alles auswählen

def passwort():
    print 'Passwortabfrage: '
    eingabe = raw_input()
    if eingabe == ('GEHEIM'):
        print "regestrierung erfolgreich"
    else:
        print "Falsches Passwort"
>>> passwort()
Passwortabfrage: GEHIM
regestrierung erfolgreich
>>> passwort()
Passwortabfrage: falsch
Falsches Passwort
>>>
ich glaube, ich darf an der funktionalitaet dieses codes zweifeln...

Code: Alles auswählen

>>> "GEHIM" == ("GEHEIM")
False
>>> "GEHEIM" == ("GEHEIM")
True
:-)

lg
roschi
[size=117]Fuer Alle, die in Python einsteigen wollen, kann ich das Buch [url=http://abop-german.berlios.de/]A Byte of Python[/url] nur waermstens empfehlen![/size]
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

Hi,
wollt auch mal was dazu beitragen:

Code: Alles auswählen

def passwort (versuche, abfrage="Passwort:", pw="Geheim"):
    for i in range(versuche):
        eingabe = raw_input(abfrage)
        if eingabe == pw:
            print "Richtiges Passwort"
            break
        else:
            print "Falsches Passwort"

if __name__ == "__main__":
    passwort (3)

Code: Alles auswählen

>>> 
Passwort:Hans
Falsches Passwort
Passwort:Falsch
Falsches Passwort
Passwort:Geheim
Richtiges Passwort
>>> 
MfG Jonas

PS: Rechtschreibfehler ausgebügelt...
PS2: Schleifenabbruch eingebaut.
Zuletzt geändert von jonas am Donnerstag 1. Januar 2009, 18:59, insgesamt 1-mal geändert.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Naja ... auch wenn das Passwort richtig ist bekomme ich noch den Prompt ;) -> Brich die Schleife ab wenn das Passwort richtig ist.
Benutzeravatar
Klip
User
Beiträge: 98
Registriert: Donnerstag 10. August 2006, 20:39

ich glaube, ich darf an der funktionalitaet dieses codes zweifeln...

Code: Alles auswählen

>>> "GEHIM" == ("GEHEIM")
False
>>> "GEHEIM" == ("GEHEIM")
True
Tippfehler ;)

Code: Alles auswählen

>>> "geheim" == ("geheim")
True
Antworten