Написать класс sausage, имитирующий киберколбасу. Киберколбаса может быть проинициализирована нулём значений (создаётся колбаса по умолчанию), одним (фарш) и двумя (фарш и объём). Длина целого батона киберколбасы 12 символов фарша и 2 оболочки. Колбаса единичного объёма — это один полный батон, более, чем единичного — это несколько батонов (последний, возможно, неполон). Неполный батон заканчивается срезом. Киберколбаса поддерживает операции умножения и деления на целое число, а также сложения и вычитания с другой киберколбасой (фарш результата совпадает с фаршем первого операнда). Если объём киберколбасы нулевой, батон считается пустым.

   1 a, b, c = sausage(), sausage("HAM", "5/6"), sausage("SPAM.", 1.25)
   2 print(a, b, c, sep="\n")
   3 print(a+b+c)
   4 print(b*2, 4*c/5, sep="\n")
   5 d, e = b+a/6-5*c/4, a-c
   6 print(d, not d)
   7 print(e, not e)

Очевидно, что для хранения объёма стоит использовать 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


CategoryHomework

LecturesCMC/PythonIntro2019/Homework_CyberSausage (последним исправлял пользователь FrBrGeorge 2019-11-22 23:37:34)