Возможно ли напечатать пустую рамку с использованием звездочек в Python 3x

#python-3.x

#python-3.x

Вопрос:

У меня есть класс python box. Класс имеет атрибуты width и length. Я хотел бы иметь метод, который печатает представление рамки с учетом ее ширины и длины (для которых я установил значение 5). Когда я использую свой метод print_box, я получаю что-то вроде этого: <консоль.Объект Box в 0x109b73da0.

Я читал о str, но я не уверен, что это применимо к тому, чего я пытаюсь достичь. Я не печатаю объект Box, я использую атрибуты Box для управления тем, как я распечатываю звездочки.

Вот мой класс box.

 class Box():

    def __init__(self, width=5, length=5): 
        self.width = width
        self.height = length

    def print_box():
        for i in range(width):
           for j in range(length):
               if(i == 0 or i == width - 1 or j == 0 or j == length - 1):
                   print('*', end = '  ')
               else:
                   print(' ', end = '  ')

>>> mybox = Box()
>>> mybox.print_box
  

Тогда будет напечатана пустая рамка

Ответ №1:

Вы не выполняете функцию — вы просто обращаетесь к ней. Попробуйте mybox.print_box() .