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.
robrobrob
User
Beiträge: 2
Registriert: Mittwoch 31. Dezember 2008, 23:44

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

Beitragvon robrobrob » Donnerstag 1. Januar 2009, 00:42

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
Benutzeravatar
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Beitragvon INFACT » Donnerstag 1. Januar 2009, 00:46

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"
ein kleines game für die die lust haben http://konaminut.mybrute.com
;-)
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

Beitragvon Pekh » Donnerstag 1. Januar 2009, 01:05

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.
Benutzeravatar
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Beitragvon INFACT » Donnerstag 1. Januar 2009, 01:11

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
>>>
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)
robrobrob
User
Beiträge: 2
Registriert: Mittwoch 31. Dezember 2008, 23:44

Beitragvon robrobrob » Donnerstag 1. Januar 2009, 01:35

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: 2423
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Beitragvon DasIch » Donnerstag 1. Januar 2009, 02:08

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:

Beitragvon roschi » Donnerstag 1. Januar 2009, 10:54

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
Fuer Alle, die in Python einsteigen wollen, kann ich das Buch A Byte of Python nur waermstens empfehlen!
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

Beitragvon jonas » Donnerstag 1. Januar 2009, 18:49

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
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Donnerstag 1. Januar 2009, 18:56

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

Beitragvon Klip » Donnerstag 1. Januar 2009, 18:58

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder