
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

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

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()



Для создания класса `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` возвращает строку, а не выводит ее напрямую.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili