Seite 1 von 1

Gastebuch Problem

Verfasst: Montag 24. Juli 2006, 09:20
von gollum1990
Hallo,
ich habe nicht das passende Forum gefunden, aber ich kriege es einfach nicht hin! Ich habe ein Gastebuch gemacht, mit Dateien. Aber der bricht das direkt ab, wenn ich auf das Symbol drücke. Kann mir da wer helfen?

script:

Code: Alles auswählen

# Ein kleines Gaestebuch
import cPickle as p
gbdatei = 'gaestebuch.dat'

class gbeintrag:
      def __init__(self, username, usermail, userhomepage, usereintrag):
          self.username = username
          self.usermail = usermail
          self.userhomepage = userhomepage
          self.usereintrag = usereintrag

      def anzeigen(self):
          print self.username
          print self.usermail
          print self.userhomepage
          print self.usereintrag

try:
    f = file(gbdatei)
    gl = p.load(f)

except:
    gb= []
    f = file(gbdatei, 'w')
    p.dump(gb, f)
    f.close()
    del gb
    f = file(gbdatei)
    gl = p.load(f)

def menue():
    print 'Herzlich Wilkommen beim Gastebuch'
    print 'Drucken sie 1 um einen neuen Eintrag zu verfassen'
    print 'Drucken sie 2 um die Eintrag anzuzeigen'

menue()

while True:
     print '_____________________________________'
     value = raw_input('Bitte entscheiden sie sich fuer einen Menu Punkt:')
     if value == '1':
        if len(gl) > 0:
           print 'Das Gaestebuch hat folgende Eintrage:'
           num = 1
           for item in gl:
               item.anzeigen
               num = num + 1
        else:
           print 'Das Gastebuch hat noch keine Eintrage.'
      if value == '2':
         neu_username = input('Ihr Name bitte:')
         neu_usermail = input('Ihre E-mail bitte:')
         neu_userhomepage = input('Ihre Homepage:')
         neu_nachricht = input('Ihre Nachricht:')
         neu_topic = gbeintrag(neu_username, neu_usermail, neu_userhomepage, neu_usereintrag)
         gl.append(neu_topic)
[/code]

Re: Gastebuch Problem

Verfasst: Montag 24. Juli 2006, 09:34
von BlackJack
gollum1990 hat geschrieben:Hallo,
ich habe nicht das passende Forum gefunden, aber ich kriege es einfach nicht hin! Ich habe ein Gastebuch gemacht, mit Dateien. Aber der bricht das direkt ab, wenn ich auf das Symbol drücke. Kann mir da wer helfen?
Welches Symbol? Bring das Programm doch erst einmal in einen lauffähigen Zustand. Ich bekomme:

Code: Alles auswählen

$ python test.py
  File "test.py", line 50
    if value == '2':
                   ^
IndentationError: unindent does not match any outer indentation level
Das nächste Problem dürfte `input()` sein. Wenn Du Zeichenketten haben möchtest, dann musst Du `raw_input()` nehmen.

Der Menütext passt nicht zur Funktion. Die beiden Punkte sind vertauscht.

Beim Anzeigen von Einträgen benutzt Du `num` überhaupt nicht, kann also wegfallen.

Deine Variablennamen sind ausserdem viel zu nichtssagend und Pickle-Dateien muss man im Binärmodus öffnen ('rb' bzw. 'wb').

Verfasst: Montag 24. Juli 2006, 09:40
von gollum1990
Gut, ich habe statt input(), raw_input() genommen, habe auch wb statt w genommen, klappt aber auch nicht,

Verfasst: Montag 24. Juli 2006, 09:44
von DatenMetzgerX
diesen Fehler

Code: Alles auswählen

$ python test.py
  File "test.py", line 50
    if value == '2':
                   ^
IndentationError: unindent does not match any outer indentation level
behoben?

Verfasst: Montag 24. Juli 2006, 10:17
von gollum1990
Hat sich erledigt, ich hab falsch eingerückt, jetzt klappt alles.

Verfasst: Montag 24. Juli 2006, 10:21
von Rebecca
Lies die Fehlermeldung! Er beschwert sich, dass die Einrueckung nicht stimmt. Das if ist eins zu weit eingerueckt!

Verfasst: Montag 24. Juli 2006, 11:26
von Leonidas
Und was hat das ganze mit Netzwerken zu tun? Ich verschiebs mal...