Ich habe eine Klasse mit dem Namen Board
, die als Oberklasse fungiert. Es ist im Grunde ein zufällig generiertes Sudoku-Board mit 81 Nummern, die korrekt durch die Regeln platziert werden."module .__ init __() benötigt höchstens 2 Argumente (3 gegeben)" beim Erstellen der Instanz einer Unterklasse
Dann habe ich eine Unterklasse mit dem Namen normalSudoku
definiert, wo es mit einem Parameter "schwierigkeiten" (eine Zeichenkette) initialisiert wird, wo es entscheidet, wie viele leere Einträge auf dem Sudoku erscheinen.
Wenn ich eine Instanz von normalSudoku erstellt und versuchen, es zu drucken, um zu sehen, ob es funktioniert, erscheint die folgende Fehlermeldung aus:
TypeError: module.__init__() takes at most 2 arguments (3 given)
Ich bin nicht sicher, was ich falsch gemacht habe und ich bin ein wenig verwirrt über die Verwendung von self
und Objektinitialisierung in Python.
Meine Board
Klasse:
class Board(object):
def __init__(self):
self.sudoku = self.__create__()
def __create__(self):
#generateion of board goes here
#it will return a 9x9 2d-list
Meine normalSudoku
Klasse:
import Board
import random
class normalSudoku(Board):
def __init__(self,difficulties):
Board.Board.__init__(self)
self.Create_Empty_Entries(self,difficulties)
def Create_Empty_Entries(self, difficulties):
numbers = list(range(0,9))
if difficulties == "Easy":
for x in range(25):
a = random.choice(numbers)
b = random.choice(numbers)
self.sudoku[a][b] = None
elif difficulties == "Medium":
for x in range(35):
a = random.choice(numbers)
b = random.choice(numbers)
self.sudoku[a][b] = None
elif difficulties == "Hard":
for x in range(45):
a = random.choice(numbers)
b = random.choice(numbers)
self.sudoku[a][b] = None
elif difficulties == "Expert":
for x in range(65):
a = random.choice(numbers)
b = random.choice(numbers)
self.sudoku[a][b] = None
else:
print("The Level of Difficulty you chose does not exist.")
Vielen Dank, dass meine Fehler für den Hinweis auf! Ihre Antwort ist sehr hilfreich. Ich habe jetzt alle Fehler behoben und hatte ein besseres Verständnis der Klassenstruktur in Python. :) –