Seite 1 von 1

if -> for -> else nicht möglich?

Verfasst: Freitag 3. Juni 2005, 14:32
von Gast
Hallo Allerseits,
seit einer stunde versuche ich das problem zu lösen...
ist folgende syntaktische Stellung vom else in einer for-schleife nicht erlaubt??? ich meine das kann doch nicht sein...
er meldet ständig dass das erste else eine falsche einrückung hat....aber das muss doch funktionieren??!?!?!?!!?

Code: Alles auswählen

  if (?? ) or \
        ??):
                                     for gP in globParams:
                                                try: #do we already have this entry
                                                        all_depP_dic[depP]
                                                except:
                                                        u = 7
                                                else:
                                                        try:
                                                                curr_depP_dic[depP]
                                                        except:
                                                                 print "aaaaa"
                                                        else:
                                                                curr_depP_dic[depP] = lotP

Verfasst: Freitag 3. Juni 2005, 16:00
von Gast
Hi,
ich hab mich noch nicht mit try beschäftigt, aber das else gehört da glaube ich nicht hin. Macht ja gar keinen Sinn: Versuche was, wenns nicht klappt mach was bestimmtes, ansonsten mach was ganz anderes (oder so ähnlich)
könnte das gehen? :

Code: Alles auswählen

for blabla in blub:
    try:
        versuch irjendwas
    except:
        print 'klappt nicht, ich versuch wat anderes!'
        try:
            versuch was anderes
        except:
            print 'klappt aber auch nich :-( '
kann aber auch sein, daß ich total falsch liege....

Re: if -> for -> else nicht möglich?

Verfasst: Freitag 3. Juni 2005, 16:28
von joe
Anonymous hat geschrieben: er meldet ständig dass das erste else eine falsche einrückung hat....aber das muss doch funktionieren??!?!?!?!!?
Bei mir funktioniert es ohne syntaxfehlermeldung.

Code: Alles auswählen

globParams = [1,2,3]
all_depP_dic = [1,2,]
depP = 0
lotP = 0
if 1 or \
        1:
                                     for gP in globParams:
                                                try: #do we already have this entry
                                                        all_depP_dic[depP]
                                                except:
                                                        u = 7
                                                else:
                                                        try:
                                                                curr_depP_dic[depP]
                                                        except:
                                                                 print "aaaaa"
                                                        else:
                                                                curr_depP_dic[depP] = lotP
joe

Verfasst: Freitag 3. Juni 2005, 16:32
von CM
Das sollte auch funktionieren: Vielleicht solltest Du mal schauen, ob Du Tabulatoren mit Leerzeichen mischt oder so etwas ...

Zum Kommentar "try, except, else" sollte dies hier Klärung bringen (ein bißchen Scrollen ist vielleicht nötig ...).

Gruß,
Christian

Verfasst: Dienstag 7. Juni 2005, 08:18
von Gast
es geht...
sorry
war nur ein kleiner einschubfehler....hab es zwar zigmal durchgeschaut und nochmal geschrieben.aber manchmal sollte man einfach mit dem proggen aufhören und an einem anderen Tag weitermachen :)