Verfasst: Montag 21. Januar 2008, 21:43
Hat er doch geschrieben: Es war ein IndentFehler, daher macht sein Skript gar nichts, wenn der Fehler kommt
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Das sind keine "4 Rekursionen".BeneCrack hat geschrieben:Das mit dem Tabs und Leerzeichen hab ich schon gelöst. Aber ich schaffs einfach nicht die 4 Rekursionen in einem zu unterbringen.
Das ist so ziemlich der einzige weg, sich hier böse kommentare einzufangen.Und kann mir jemand dieses Programm:
(http://paste.pocoo.org/show/22789/)
in python umschreiben oder nur die Rekursion weil ich versteh diese Programmiersprache nicht.
"The Little Schemer" lehrt beispielsweise Rekursion. Mehr als dass es Scheme lehrt.keppla hat geschrieben:Das sind keine "4 Rekursionen".BeneCrack hat geschrieben:Das mit dem Tabs und Leerzeichen hab ich schon gelöst. Aber ich schaffs einfach nicht die 4 Rekursionen in einem zu unterbringen.
Eine rekursion hast du z.B. dann, wenn eine Funktion sich selber aufruft, das typische Beispiel ist da die fakultät: !3 = 3 * !2
Es wäre hier vmtl besser, wenn du erstmal, unabhängig von der Programmiersprache das konzept "Rekursion" zu verstehen versuchst.
Oh, jetzt wollt ich doch grad das sagenkeppla hat geschrieben:Das ist so ziemlich der einzige weg, sich hier böse kommentare einzufangen.
Die populären Antworten dürften sein:
"Was bietest du denn als Bezahlung dafür, dass ich deine Arbeit mache?"
oder einfach
"Wir machen dir nicht deine Hausaufgaben".
Code: Alles auswählen
# erstellt am: 24.01.2008
# Projektname: Sierpinski Kurve
# Dateiname: Ausfuehren_sierKurve.py
# Autor: Benedek Benjamin, 2BHDV, d06035, 03
# (C) Copyright 2007-2008 Benedek Benjamin
import sierKurve
level = 1
kurve = sierKurve.SierpinskiKurve()
kurve.generate(level)
kurve.save("SierpinskiKurve_Stufe" + str(level))
Code: Alles auswählen
# erstellt am: 24.01.2008
# Projektname: Sierpinski Kurve
# Dateiname: sierKurve.py
# Autor: Benedek Benjamin, 2BHDV, d06035, 03
# (C) Copyright 2007-2008 Benedek Benjamin
from pyx import *
class SierKurve():
thisX = 0
thisY = 0
def __init__(self): #Zeichenfläche wird erstellt
self.img = canvas.canvas()
def goToXY(self, x, y):
SierKurve.thisX = x
SierKurve.thisY = y
def lineRel(self, deltaX, deltaY): #Linie wird gezeichnet
self.img.stroke(path.line(SierKurve.thisX, SierKurve.thisY, SierKurve.thisX+deltaX, SierKurve.thisY+deltaY))
SierKurve.thisX += deltaX
SierKurve.thisY += deltaY
def save(self, filename): #Die Zeichnung wird als PDF abgespeichert
self.img.writeEPSfile(filename)
self.img.writePDFfile(filename)
print 'Gespeichert als: %s' % filename
class SierpinskiKurve(SierKurve):
dist = 1
dist0 = 1
def __init__(self):
SierKurve.__init__(self)
def generate(self, level): #Hier beginnt alles
print "Einen Moment bitte, Daten werden verarbeitet..."
SierpinskiKurve.dist = SierpinskiKurve.dist0
#Grundmuster besteht aus dem aufruf von den A B C D Funktionen
self.goToXY(2*SierpinskiKurve.dist,SierpinskiKurve.dist)
self.sierpA(level) #Rekursion wird gestartet
self.lineRel(+SierpinskiKurve.dist,+SierpinskiKurve.dist)
self.sierpB(level) #Rekursion wird gestartet
self.lineRel(-SierpinskiKurve.dist,+SierpinskiKurve.dist)
self.sierpC(level) #Rekursion wird gestartet
self.lineRel(-SierpinskiKurve.dist,-SierpinskiKurve.dist)
self.sierpD(level) #Rekursion wird gestartet
self.lineRel(+SierpinskiKurve.dist,-SierpinskiKurve.dist)
#So ensteht einfach erklärt eine Sierpinski Kurve:
#A: aufruf von A B D A
#B: aufruf von B C A B
#C: aufruf von C D B C
#D: aufruf von D A C D
# Bei jedem Rekursionsaufruf wird die Rekursionstiefe um 1 vermindern
#In den Rekursionsfunktionen wird auch die Zeichen Funktion (lineRel) mit den entsprechenden Koordinaten aufgerufen
def sierpA (self, level):
if (level > 0):
self.sierpA(level-1)
self.lineRel(+SierpinskiKurve.dist,+SierpinskiKurve.dist)
self.sierpB(level-1)
self.lineRel(+2*SierpinskiKurve.dist,0)
self.sierpD(level-1)
self.lineRel(+SierpinskiKurve.dist,-SierpinskiKurve.dist)
self.sierpA(level-1)
def sierpB (self, level):
if (level > 0):
self.sierpB(level-1)
self.lineRel(-SierpinskiKurve.dist,+SierpinskiKurve.dist)
self.sierpC(level-1)
self.lineRel(0,+2*SierpinskiKurve.dist)
self.sierpA(level-1)
self.lineRel(+SierpinskiKurve.dist,+SierpinskiKurve.dist)
self.sierpB(level-1)
def sierpC (self, level):
if (level > 0):
self.sierpC(level-1)
self.lineRel(-SierpinskiKurve.dist,-SierpinskiKurve.dist)
self.sierpD(level-1)
self.lineRel(-2*SierpinskiKurve.dist,0)
self.sierpB(level-1)
self.lineRel(-SierpinskiKurve.dist,+SierpinskiKurve.dist)
self.sierpC(level-1)
def sierpD (self, level):
if (level > 0):
self.sierpD(level-1)
self.lineRel(+SierpinskiKurve.dist,-SierpinskiKurve.dist)
self.sierpA(level-1)
self.lineRel(0,-2*SierpinskiKurve.dist)
self.sierpC(level-1)
self.lineRel(-SierpinskiKurve.dist,-SierpinskiKurve.dist)
self.sierpD(level-1)