0

まず第一に、私は C/C++/Java のバックグラウンドを持っています。私は自分のスキルを広げ、できれば Web 開発を掘り下げるために Python を学ぶことにしました。私はそれを約 2 日間しか学んでおらず、いくつかの単純なデータ構造を作成しようとしています。

エラーが多すぎてどうすればいいのかわからない!調べてみましたが、いまだにわかりません。LinkedList メンバー関数に渡された位置引数の数に関するエラーが発生しました。それらを取り出すと、Node 関数定義で self が定義されていないと表示されます。

class Node:

    def __init__():
        self.data = None
        self.nextNode = None  

    def set_and_return_Next():
        self.nextNode = Node()
        return self.nextNode

    def getNext():
        return self.nextNode

    def getData():
        return self.data

    def setData(d):
        self.data = d


class LinkedList:

    def buildList(array):
        head = Node()
        head.setData(array[0])
        temp = head
        for i in array:
            temp = temp.set_and_return_Next()
            temp.setData(array[i])
            tail = temp
        return self.head

    def printList():
        tempNode = head
        while(tempNode!=tail):
            print(tempNode.getData())
            tempNode = tempNode.getNext()

myArray = [3, 5, 4, 6, 2, 6, 7, 8, 9, 10, 21]

myList = LinkedList()
myList.buildList(myArray)
myList.printList()

おそらくばかげた間違いだと思いますが、助けてください。

4

2 に答える 2

1

OP は次のように書いています。

修正しました!新しいコードは次のとおりです。

#Matthew's Simple Python
# Practice Linked List
class Node:

    def __init__(self):
        self.data = None
        self.nextNode = None  

    def set_and_return_Next(self):
        self.nextNode = Node()
        return self.nextNode

    def getNext(self):
        return self.nextNode

    def getData(self):
        return self.data

    def setData(self, d):
        self.data = d

class LinkedList:

    def buildList(self, array):
        self.head = Node()
        self.head.setData(array[0])
        self.temp = self.head
        for i in array[1:]:
            self.temp = self.temp.set_and_return_Next()
            self.temp.setData(i)
            self.tail = self.temp
        return self.head

    def printList(self):
        tempNode = self.head
        while(tempNode!=self.tail):
            print(tempNode.getData())
            tempNode = tempNode.getNext()
        print(self.tail.getData())

myArray = [3, 5, 4, 6, 2, 6, 7, 8, 9, 10, 21]

myList = LinkedList()
myList.buildList(myArray)
myList.printList()

出力は次のとおりです。

>>> 
3
5
4
6
2
6
7
8
9
10
21
于 2015-11-08T13:26:07.770 に答える