Вопрос задан 06.11.2023 в 14:31. Предмет Информатика. Спрашивает Цедринский Иван.

Python Напишите класс Book, который описывает книгу. У книги есть название, автор и год издания,

а также два метода: Конструктор. Автор и год издания могут быть неизвестны, и должны по умолчанию иметь значение None. Метод display() для вывода информации о книге в виде строки таблицы "Название Автор Год издания". Название выравнивайте по левому краю до 30 символов, автора - по левому до 20 символов, год издания - по правому, до 5 символов. Если год и автор не заданы, ничего на их месте не выводите. Контрольный пример: book = Book('Title', 'Author', 2020) book.display() Вывод: Title Author 2020 Книга без автора: book = Book('Title', year=2020) book.display() Вывод: Title 2020 Книга без года: book = Book('Title', 'Author') book.display() Вывод: Title Author
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сивериков Алексей.

class Book:

   def __init__(self, title = None, author = None, year = None):

       self.title = title

       self.author = author

       self.year = year

   def display(self):

       text = ""

       

       if self.title != None: text = text + self.title[0:30] + " "

       if self.author != None: text = text + self.author[0:20] + " "

       if self.year != None: text = text + str(self.year)[0:5] + ""

       

       print(text)

       

book = Book('book', 'Author', 1234567)

book.display()

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для создания класса `Book` в Python, вы можете использовать следующий код:

```python class Book: def __init__(self, title, author=None, year=None): self.title = title self.author = author self.year = year

def display(self): title = self.title.ljust(30) author = (self.author if self.author else '').ljust(20) year = (str(self.year) if self.year else '').rjust(5) return title + author + year ```

В этом коде:

- `__init__` - это конструктор класса, который вызывается при создании нового объекта класса. Он принимает три аргумента: `title`, `author` и `year`. `author` и `year` имеют значение по умолчанию `None`, что означает, что они являются необязательными. - `ljust` и `rjust` - это методы строки в Python, которые используются для выравнивания текста по левому и правому краю соответственно. Они принимают один аргумент, который определяет минимальную длину строки. Если длина исходной строки меньше указанной длины, то добавляются пробелы. - Метод `display` возвращает строку, которая представляет информацию о книге в формате, указанном в задании.

Теперь вы можете создать объект класса `Book` и вызвать метод `display`:

```python book = Book('Title', 'Author', 2020) print(book.display()) # Вывод: Title Author 2020

book = Book('Title', year=2020) print(book.display()) # Вывод: Title 2020

book = Book('Title', 'Author') print(book.display()) # Вывод: Title Author ```

Обратите внимание, что в примерах выше используется метод `print` для вывода результата метода `display`. Это необходимо, потому что метод `display` возвращает строку, а не выводит ее напрямую.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос