在初始化中,我声明了两个列表变量,分别称为npm install @tensorflow/tfjs
和nlist
。
然后在方法rlist
中,我将名为add_neighour
的对象(router2)附加到名为router2.__routername
的对象列表中。
self.nlist
我在等待特定命令的True中调用代码:
命令P用于打印信息
class Router:
def __init__(self, routername):
self.__routername = routername
self.nlist = []
self.rlist = []
def print_info(self):
print(self.nlist)
print(" ", self.__routername, sep="")
print(" N: ", ", ".join(sorted(self.nlist)), sep="")
print(" R: ", ", ".join(sorted(self.rlist)), sep="")
def add_neighbour(self, router2):
self.nlist.append(router2.__routername)
print(self.nlist)
命令C用于将两个路由器链接在一起。 (例如,将router2的名称 if command == "P":
routername = input("Enter router name: ")
if routername not in mydict:
print("Router was not found.")
else:
router = Router(routername)
router.print_info()
附加到router1的邻居列表router2.__routername
上。
这种情况self.nlist
发生在方法class Router
中,该方法以另一个路由器作为参数。
add_neighbour
附加操作很好,当我最后 elif command == "C":
router1 = input("Enter 1st router: ")
router2 = input("Enter 2nd router: ")
router1 = Router(router1)
router2 = Router(router2)
router1.add_neighbour(router2)
router2.add_neighbour(router1)
时,它表明列表已使用所需的附加元素进行了更新。但是,在调用print(self.nlist)
函数并尝试打印print_info
时,它将打印一个空列表。
我不知道为什么。我应该以其他方式/位置声明对象特定的列表吗?
或
将值添加到列表的方式不同吗?
我的目标是:在sorted(self.nlist)
方法内成功打印self.nlist
。成功打印意味着它可以打印除空列表以外的其他内容。
我尝试从几篇文章中寻找答案。很抱歉,如果这篇文章重复并且写得很糟。
整个代码:(如您所见,正在进行中……)
print_info