Список в конструкторе классов python3 - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь получить объект списка, и мой метод печати все время возвращает пустой список.Что я делаю неправильно?Похоже, что

Это мой желаемый вывод:

> NR
Enter a new name: R1
> NR
Enter a new name: R2
> NR
Enter a new name: R7
> C
Enter 1st router: R1
Enter 2nd router: R7
> C
Enter 1st router: R2
Enter 2nd router: R7
> P
Enter router name: R1
R1
N: R7
R:
> P
Enter router name: R2
R2
N: R7
R:
> P
Enter router name: R7
R7
N: R1, R2
R:

Но я получаю только пустые N: s при выполнении кода.как "N:"

А вот мой код:

class Router:

    def __init__(self, name):
        self.__name = name
        self.__neighbours = []


    def add_neighbour(self, toadd):
        self.__neighbours.append(toadd)

    def print_info(self):
        print(self.__name)
        print("N:", end = " ")
        print(*sorted(self.__neighbours))
        print("R:")


routers = []


    while True:
        command = input("> ")
        command = command.upper()

        if command == "P":
            toprint = input("Enter router name: ")
            if toprint not in routers:
                print("Router was not found.")
            else:
                Router(toprint).print_info()


        elif command == "C":

            router1 = input("Enter 1st router: ")
            router2 = input("Enter 2nd router: ")

            Router(router1).add_neighbour(router2)
            Router(router2).add_neighbour(router1)

        elif command == "RR":
            pass

        elif command == "NR":

            newrouter = input("Enter a new name: ")
            if newrouter in routers:
                print("Name is taken.")
            else:
                routers.append(newrouter)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...