Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Python Fibonacci Iterator Fehler » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Python Fibonacci Iterator Fehler
Beiträge zu diesem Thema Autor Datum
 Python Fibonacci Iterator Fehler Dr.Java 07.04.2016 11:04
 RE: Python Fibonacci Iterator Fehler eulerscheZahl 07.04.2016 11:21
 RE: Python Fibonacci Iterator Fehler Dr.Java 07.04.2016 12:02

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Dr.Java Dr.Java ist männlich
Foren As


images/avatars/avatar-71.jpg

Dabei seit: 21.03.2016
Beiträge: 99

Python Fibonacci Iterator Fehler Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo. Ich arbeite mich seit einiger Zeit in Python ein und bin jetzt auf ein Problem gestoßen ,und ich komme schlicht nicht dahinter wo mein Fehler liegt.

Zunächst sollte man eine gewöhnliche Python-Datei erstellen.

class Fib:
'''iterator that yields numbers in the Fibonacci sequence'''

def _init_(self, max):
self.max= max

def _iter_(self):
self.a=0
self.b=1
return self

def _next_(self):
fib = self.a
if fib > self.max:
raise StopIteration
self.a, self.b = self.b, self.a + self.b
return fib

Dann sollte man sie unter dem Namen fibonacci2 im Verzeichnis speichern und folgendes im Shell eingeben.

>>>import fibonacci2
>>>fib = fibonacci2.Fib(100)

Der Import funktioniert problemlos ,aber wenn ich die zweite Zeile eingebe bekomme ich eine Fehlermeldung.

Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
fib = fibonacci2.Fib(100)
TypeError: object() takes no parameters

Und ich stehe jetzt vollkommen auf dem Schlauch,ich habe es auch schon mit neugestarteter Shell und Neuschreiben der Datei versucht ,ich bekomme trotzdem immer die selbe Fehlermeldung. Danke schonmal für Tipps und Hinweise.

lg

__________________
Zitat:
"Ich glaube, es gibt einen weltweiten Bedarf an vielleicht fünf Computern."
-Thomas Watson

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Dr.Java: 07.04.2016 11:04.

07.04.2016 11:04 Dr.Java ist offline Beiträge von Dr.Java suchen Nehmen Sie Dr.Java in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

RE: Python Fibonacci Iterator Fehler Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn ich bei deinem Beitrag auf zitieren klicke, sehe ich eine fehlerhafte Einrückung (wenn du code-Tags verwendest, kann ich mir den Umweg sparen).
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
class Fib:
    '''iterator that yields numbers in the Fibonacci sequence'''

    def __init__(self, max):
        self.max = max
        self.a = 0
        self.b = 1

    def __iter__(self):
        return self

    def next(self):
        fib = self.a
        if fib > self.max:
            raise StopIteration
        self.a, self.b = self.b, self.a + self.b
        return fib

self.a und self.b habe ich in den Konstruktor verschoben und init und iter je 2 Unterstriche verpasst.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
>>> import fibonacci2
>>> fib = fibonacci2.Fib(100)
>>> fib.next()
0
>>> fib.next()
1
>>> fib.next()
1
>>> fib.next()
2
>>> fib.next()
3
>>> fib.next()
5
>>> fib.next()
8
>>> fib.next()
13
>>> fib.next()
21
>>> fib.next()
34
>>> fib.next()
55
>>> fib.next()
89
>>> fib.next()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "fibonacci2.py", line 15, in next
    raise StopIteration
StopIteration


__________________
Syntax Highlighting fürs Board (Link)
07.04.2016 11:21 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Dr.Java Dr.Java ist männlich
Foren As


images/avatars/avatar-71.jpg

Dabei seit: 21.03.2016
Beiträge: 99

RE: Python Fibonacci Iterator Fehler Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ach so, danke dir ,jetzt klappt es. Ich war mir nicht ganz so sicher wegen den Strichen,wie und ob man einen verlängerten Strich erzeugen kann,aber jetzt hab ich es raus.

PS. Wegen den Codes,alles klar, ich werde sie das nächste mal nutzen.


lg

__________________
Zitat:
"Ich glaube, es gibt einen weltweiten Bedarf an vielleicht fünf Computern."
-Thomas Watson

07.04.2016 12:02 Dr.Java ist offline Beiträge von Dr.Java suchen Nehmen Sie Dr.Java in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » Python Fibonacci Iterator Fehler