Seite 1 von 1

einrückungs fehler?

Verfasst: Mittwoch 16. Februar 2005, 15:55
von pr0stAta
halli hallo.
ich bastel mir gerade einen mp3 player mit python.
er funktioniert auch wunderbar nur als ich die shuffle funktion eingebaut
habe, ging nichts mehr :)

Code: Alles auswählen

def next():
  try:
    pygame.mixer.music.fadeout(400)
    index = playList.curselection()
    integer = string.split(str(index), "'")
    playList.select_clear(END, int(integer[1]))
    if shuffle(var)==0:
      playList.select_set(int(integer[1])+1)
    else:
      groesse = playList.size()
      zufallsWert = random.randint(0, groesse)
      playList.select_set(int(integer[1])+int(zufallsWert))
    play()
  except IndexError:
    playList.select_set(0)		
die shuffle funktion gibt nur 1 oder 0 zurück.
problem ist nun, das er mir folgende fehlermeldung ausspuckt:

Code: Alles auswählen

C:\test\python>mp3_player.py
  File "C:\test\python\mp3_player.py", line 106
    playList.select_set(int(integer[1])+1)
           ^
IndentationError: expected an indented block
setze ich in die if und else anweisung "pass" rein, kommt ebenfalls
so ein fehler. ich bin ratlos da der code für mich richtig aussieht oO
gruss prosta

Verfasst: Mittwoch 16. Februar 2005, 16:51
von Leonidas
Ich kann es nicht testen, dazu ist dein Code zu kurz (playlist wird nirgendwo definiert), aber versuche es mal mit richtig eingerücktem Code (nach Styleguide):

Code: Alles auswählen

def next():
    try:
        pygame.mixer.music.fadeout(400)
        index = playList.curselection()
        integer = string.split(str(index), "'")
        playList.select_clear(END, int(integer[1]))
      
        if shuffle(var) == 0:
            playList.select_set(int(integer[1])+1)
        else:
            groesse = playList.size()
            zufallsWert = random.randint(0, groesse)
            playList.select_set(int(integer[1])+int(zufallsWert))
        play()
    except IndexError:
        playList.select_set(0)

Verfasst: Mittwoch 16. Februar 2005, 16:53
von mawe
Hi!

@pr0stAta: Schau mal ob Du nicht vielleicht Tabs und Spaces bei der Einrückung gemischt hast.

Gruß, mawe

Verfasst: Mittwoch 16. Februar 2005, 16:58
von pr0stAta
narf ich hätte nicht gedacht dass mein dummer ultraedit einfach komisch
leerzeichen einfügt ^^ mitten in den tabs waren ab und zu ein oder 2
leerzeichen, die den fehler verursacht haben.
danke mawe :>
*edit* sry leonidas hab deinen code gar nicht erst probiert, geht nun auch so.
trotzdem danke

Verfasst: Mittwoch 16. Februar 2005, 23:35
von BlackJack
Ich benutze nur Leerzeichen zum Einrücken um solchen Problemen aus dem Weg zu gehen. Das ist glaube ich auch der Vorschlag im Style-Guide.

Falls Dir das öfter passiert, dann schau Dir mal das Modul 'tabnanny' an. Das prüft Quelltext auf "komische" Einrückung.

Verfasst: Donnerstag 17. Februar 2005, 13:39
von Leonidas
BlackJack hat geschrieben:Ich benutze nur Leerzeichen zum Einrücken um solchen Problemen aus dem Weg zu gehen. Das ist glaube ich auch der Vorschlag im Style-Guide.
Ja, vier Spaces.
BlackJack hat geschrieben:Falls Dir das öfter passiert, dann schau Dir mal das Modul 'tabnanny' an. Das prüft Quelltext auf "komische" Einrückung.
Oder ein konfiguriertes SciTE.

Verfasst: Donnerstag 17. Februar 2005, 13:51
von mawe
Hi!

Oder ein konfigurierter vim :D

Gruß, mawe

Verfasst: Donnerstag 17. Februar 2005, 14:03
von Leonidas
Emacs kann das sicher auch :)

Verfasst: Donnerstag 17. Februar 2005, 18:57
von fs111
Leonidas hat geschrieben:Emacs kann das sicher auch :)
Echt, seit wan können Betriebsysteme das denn? SCNR

fs111

Verfasst: Donnerstag 17. Februar 2005, 20:44
von mitsuhiko
mawe hat geschrieben:Hi!

Oder ein konfigurierter vim :D

Gruß, mawe
Ja :P
Ich habe mich vor einigen Tagen mit ihm angefreundet. Jetzt trennt mich nichts mehr von ihm. :wink: