Написать класс sausage, имитирующий киберколбасу. Киберколбаса может быть проинициализирована нулём значений (создаётся колбаса по умолчанию), одним (фарш) и двумя (фарш и объём). Длина целого батона киберколбасы 12 символов фарша и 2 оболочки. Колбаса единичного объёма — это один полный батон, более, чем единичного — это несколько батонов (последний, возможно, неполон). Неполный батон заканчивается срезом. Киберколбаса поддерживает операции умножения и деления на целое число, а также сложения и вычитания с другой киберколбасой (фарш результата совпадает с фаршем первого операнда). Если объём киберколбасы нулевой, батон считается пустым.
Очевидно, что для хранения объёма стоит использовать fractions.Fraction?
/------------\ |pork!pork!po| |pork!pork!po| |pork!pork!po| \------------/ /----------| |HAMHAMHAMH| |HAMHAMHAMH| |HAMHAMHAMH| \----------| /------------\/---| |SPAM.SPAM.SP||SPA| |SPAM.SPAM.SP||SPA| |SPAM.SPAM.SP||SPA| \------------/\---| /------------\/------------\/------------\/-| |pork!pork!po||pork!pork!po||pork!pork!po||p| |pork!pork!po||pork!pork!po||pork!pork!po||p| |pork!pork!po||pork!pork!po||pork!pork!po||p| \------------/\------------/\------------/\-| /------------\/--------| |HAMHAMHAMHAM||HAMHAMHA| |HAMHAMHAMHAM||HAMHAMHA| |HAMHAMHAMHAM||HAMHAMHA| \------------/\--------| /------------\ |SPAM.SPAM.SP| |SPAM.SPAM.SP| |SPAM.SPAM.SP| \------------/ /| || || || \| True /| || || || \| True