Задать три класса — A, B и C, свойства которых неизвестны, но для которых верен пример.

Вообще говоря, инициализировать экземпляр можно чем угодно, лишь бы потом соответствующие операции — сложение и умножение — выполнялись бы.

   1 a, b, c, d = A(2), B(3), C(4), C("Op")
   2 print(a,b,c, a+b+c, a*b*c, a*b*d)
   3 print(*(o+p for o in (a,b,c) for p in (a,b,c) if not o==b==p))
   4 print(*(o*p for o in (a,b,c,d) for p in (a,b,c,d) if not o==a==p and not o==d==p))
   5 print(*(isinstance(e,T) for e in (a,b,c) for T in (A,B,C)))
   6 print(*(a in T.__dict__.keys() for a in ('__add__','__mul__','__str__') for T in (A,B,C)))

/2/ |3| |4| /9/ |24| |OpOpOpOpOpOp|
/4/ /5/ /6/ /5/ |7| |6| |7| |8|
|6| |8| |OpOp| |6| |9| |12| |OpOpOp| |8| |12| |16| |OpOpOpOp| |OpOp| |OpOpOp| |OpOpOpOp|
True False False False True False True True True
True False False False True False True True False

Подсказка: class C(A,B): или class C(B,A):?


CategoryHomework

LecturesCMC/PythonIntro2017/Homework_GuessABC (последним исправлял пользователь FrBrGeorge 2017-11-28 14:43:18)