Problem beim Ausführen eines Programms

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
BlueScr33n
User
Beiträge: 2
Registriert: Donnerstag 12. April 2012, 19:46

Hi Leute,
ich bin neu hier und fange gerade erst mit Python an ;)
Als erstes möchte ich sagen, dass ich mich schon in den Docs umgeguckt habe und auch hier im Forum schon ein bisschen gesucht habe.
Gefunden habe ich leider nichts.
Ich wusste halt nicht recht wonach ich suchen sollte :/
Also:
Ich versuche mich gerade am erweiterten euklidischen algorithmus.
Wie genau ich das hinkriegen werde weiß ich noch nicht. ;)
Aber ich wollte mal was ausprobieren. Nur leider hat die Python Shell kein Ergebnis ausgespuckt. Er hat auch keine Fehlermeldung ausgespuckt... Er ist einfach nur eine Zeile weiter nach unten gegangen. In der Zeile fehlt dann auch der dreifach Pfeil.
Egal was ich danach eingebe, es passiert einfach nichts mehr. Ich muss die Shell dann neustarten.
Ich benutze Python 2.7
Der Programm Code:

Code: Alles auswählen

def Euklid(a,b):
        c=1
        while c!=0:
                x,y=a,b
                x,y=y,x%y
                c=y
                if c!=0:
                    u,v=x,y
                    u,v=v,u%v
                    c=v
        if y==0:
                print x
        elif v==0:
                print u
        return
(sagt nix dazu, das is nur ein test :D)
deets

Das liegt daran, dass du eine formidable Endlosschleife gebaut hast. So geht's:

Code: Alles auswählen


def Euklid(a,b):
        c=1
        x,y=a,b        
        while c!=0:
                x,y=y,x%y
                c=y
                if c!=0:
                    u,v=x,y
                    u,v=v,u%v
                    c=v
        if y==0:
                print x
        elif v==0:
                print u
        return
BlueScr33n
User
Beiträge: 2
Registriert: Donnerstag 12. April 2012, 19:46

erstmal danke für die schnelle antwort :)

stimmt, ich trottel :?
Antworten