Условие:
Разработайте класс Book, который будет представлять одну книгу. У книги должны быть следующие поля: заголовок, автор, год издания, ISBN и количество страниц. При создании объекта необходимо проверять корректность данных: заголовок, автор и ISBN должны быть непустыми строками, год издания должен быть целым положительным числом, а количество страниц — положительным целым числом. В случае некорректных данных конструктор должен выбрасывать осмысленные исключения. Для класса требуется определить методы __str__ и __repr__, которые возвращают удобные для пользователя и для отладки строковые представления книги. Нужно реализовать также методы сравнения: книги считаются равными, если совпадают автор и заголовок, а операция «меньше» определяется сначала сравнением по автору, а затем по заголовку при одинаковых авторах. Метод __len__ должен возвращать количество страниц книги.\nbook = Book("Война и мир", "Толстой", 1869, "978-5-389-07455-3", 1225)\nprint(len(book)) # 1225\nprint(book) # "Толстой — ’Война и мир’ (1869)"\nprint(book == Book("Война и мир", "Толстой", 1869, "111-1-111-11111-1", 1225)) # True

