[Python] Programm hängt

Nemesis

Nemesis

N3RD
Hi,

mein Programm hängt sich auf, wenn ich es laufen lasse, es lässt sich weder beenden, noch sonst etwas mit sich anstellen.
durch auskommentieren habe ich herausgefunden, dass der Fehler irgendwo in diesen Zeilen Stecken muss.
Aber ich finde nichts.
Code:
		theta  = 0.0
		
		while theta < 75.39:
			r = math.exp(math.cos(theta))-2*math.cos(4*theta)+(math.sin(theta/12))**5
			
			# aus Polarkoordinaten konvertieren:
			x = r*math.cos(theta)
			y = r*math.sin(theta)
     		# auf Canvas-Größe skalieren
      		xx = (x*30) + 150
      		yy = (y*30) + 150
      		
      		if (theta == 0.0):
        		Canvas.Line(self.can, xx, yy, xx, yy)
      		else:
        		Canvas.Line(self.can, xOld, yOld, xx, yy)
      		self.can.update_idletasks()
      		xOld = xx
      		yOld = yy
      		theta = theta + 0.02

kann mir da jemand helfen ?

edit:
python -tt sagt:
Code:
    xx = (x*30) + 150
                    ^TabError: inconsistent use of tabs and spaces in indentation

hm ... ich hab alle spaces und tabe entfernt, und es nochmal aufgebaut, jetzt scheint es zu laufen.

nochmal edit:
zu früh gefreut, jetzt is er wieder da ...

danke !
 
Zuletzt bearbeitet:
Hi,

ehm, kann es sein dass du tabs statt spaces benutzt hast? Wenn ich mir das Thema nur anschaue sehe ich keine Einrueckung beim if-else Block, aber wenn ich auf "auf Thema antworten" gehe, sehe ich eine Einrueckung. Das laesst mich vermuten dass du mit einem Editor arbeitest, der tabs nicht direkt in Leerzeichen umwandelt. Solltest du fuer Python unbedingt tun.

Das ist totales Chaos, in beiden Faellen, so wie mir das dargestellt wird, ist die while Schleife eine Endlos-Schleife, weil theta nie erhoeht wird. Du musst den Code nochmal sauber hier posten, so kann man gar nichts erkennen, ausser dass die Einrueckungen falsch sind.

Ich vermute ein Problem mit deinem Editor. ;)

mfg,
bytepool
 
Zuletzt bearbeitet:
hm, ok, dann überprüf ich das mal ... ich dachte eigentlich, dass anjuta das richtig macht. ich hab immer nur tabs statt spaces benutzt.

zusatz: hm, in anjuta war eingestellt, dass er tabs zum einrücken verwenden soll, statt psaces, ich änder das mal.


jetzt läufts :)

danke !
 
Zuletzt bearbeitet:
Gern geschehen. Zum Glueck kann man das bei so ziemlich allen open source Editoren die ich kenne einstellen. Das mit den tabs und spaces ist bei Python am Anfang erstmal gewoehnungsbeduerftig, aber meistens macht man das einmal falsch, und danach nie wieder. ;)

mfg,
bytepool
 
jo, das kam mir jetzt garnicht in den sinn, ich wohl noch geprüft ob da überall tabs sind, hab sogar die zeilen in denen spaces waren gegen tabs getauscht.

naja, jetzt weiss ichs ;)

danke !
 

Ähnliche Themen

ATI-fglrx unter Ubuntu Hardy - Logoff Issue

Intel Grafik 915GM und XGL FEHLER (SUSE 10.2-i586) !!!!

WineX 3.0 unter Suse8.1

Zurück
Oben