我一年没有编程,所以我有点生疏了。我真的想要合并一个链接列表,但我无法记住代码是如何工作的,并且必须在Python中实现它并没有帮助。
到目前为止我只设置了Node Class。显然,我不能使用重载的构造函数,这很烦人......
基本上我想写一个程序,提示用户输入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)
答案 0 :(得分:0)
您似乎没有问题,但请注意,可能不需要使用链接列表,除非您的列表有很多插入并且很大(因为python list
内存分配;并且我不会认为这是一个问题,直到它出现在分析中),或者如果你在列表的末尾有很多插入和删除。
在这种情况下,python提供collections.deque
这是一个链接序列。