Python / связанный список / динамический / перегрузка - PullRequest
0 голосов
/ 25 февраля 2012

Я не программировал в течение года, поэтому я немного ржавый. Я действительно хочу включить список ссылок, но мне сложно вспомнить, как работает код, и необходимость его реализации в Python не помогает

Пока у меня настроен только класс узлов. Видимо, я не могу использовать перегруженные конструкторы, что раздражает ...

В основном я хочу написать программу, которая предлагает пользователю ввести X номер корзины. Каждое ведро будет иметь X разного цвета шаров. Пользователь укажет, сколько шариков для каждого цвета.

Я приветствую любую помощь!

class Node:
    def __init__(self, bucketNumber ,colorONE, colorTWO,
        colorTHREE, colorFOUR, colorFIVE ):
        self.bucket = bucketNumber # index
        self.color1 = colorONE # quantity
        self.color2 = colorTWO # quantity
        self.color3 = colorTHREE # quantity
        self.color4 = colorFOUR # quantity
        self.color5 = colorFIVE # quantity


def printN(bucketNum):
    for i in range(0,bucketNum):
        print(nodes[i].bucket, nodes[i].color1, nodes[i].color2, nodes[i].color3, nodes[i].color4, nodes[i].color5)


colors = []
nodes = []
count = []

bucketNum = int(raw_input("The are 2-5 buckets with 2-5 ball colors. Enter number of Buckets:"))
colorNum = int(raw_input("Enter number of Colors:"))
for i in range(0,colorNum):
    colors.append(raw_input("Enter color: " + str(i+1) ))




for i in range(0,bucketNum):
    for j in range(0,colorNum):

        count.append((raw_input("How many "+ colors[j] +" balls in bucket " + str(i+1))))
    nodes.append( Node(i+1, count[0], count[1], count[2], count[3], count[4]) )
    del count[ 0:len(count) ]




for i in range(0,colorNum):
    print colors[i],
print " "
printN(bucketNum)

1 Ответ

0 голосов
/ 25 февраля 2012

У вас, похоже, нет вопроса, но обратите внимание, что, вероятно, нет необходимости использовать связанный список, если в вашем списке не будет много вставок И он не будет большим (из-за выделения памяти в python list; и я бы не сталне предполагайте, что это было проблемой, пока она не обнаружилась в профилировании), или если у вас будет много вставок и удалений в конце списка.

В этом случае python предоставляет collections.deque, которая является связанной последовательностью.

...