Gastebuch Problem

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
gollum1990
User
Beiträge: 5
Registriert: Montag 24. Juli 2006, 09:16

Montag 24. Juli 2006, 09:20

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]
BlackJack

Montag 24. Juli 2006, 09:34

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').
gollum1990
User
Beiträge: 5
Registriert: Montag 24. Juli 2006, 09:16

Montag 24. Juli 2006, 09:40

Gut, ich habe statt input(), raw_input() genommen, habe auch wb statt w genommen, klappt aber auch nicht,
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Montag 24. Juli 2006, 09:44

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?
gollum1990
User
Beiträge: 5
Registriert: Montag 24. Juli 2006, 09:16

Montag 24. Juli 2006, 10:17

Hat sich erledigt, ich hab falsch eingerückt, jetzt klappt alles.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Montag 24. Juli 2006, 10:21

Lies die Fehlermeldung! Er beschwert sich, dass die Einrueckung nicht stimmt. Das if ist eins zu weit eingerueckt!
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 24. Juli 2006, 11:26

Und was hat das ganze mit Netzwerken zu tun? Ich verschiebs mal...
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten