Հատուկ հաշվիչի ստեղծում
Ձեր խնդիրն է ստեղծել Number class, որն օգտագործում է Python-ի կախարդական մեթոդները (__add__, __sub__, __mul__, __truediv__) մաթեմատիկական գործողություններ կատարելու համար: Բայց class-ը պետք է լինի հզոր և կարողանա կարգավորել տարբեր բացառություններ, որոնք միգուցե առաջանան նշված գործողությունների ընթացքում.
- Եթե փորձ է արվում բաժանել զրոյի վրա, պետք է raise արվի - ZeroDivisionError՝- Cannot divide by zeroհաղորդագրությամբ:
- Եթե մուտքագրումներից որևէ մեկը չի կարող վերածվել թվի, պետք է - raiseարվի- ValueError՝- Invalid number inputհաղորդագրությամբ:
- Եթե օպերատորը - Numberչէ, պետք է raise արվի- TypeError՝- Operator must be a Numberհաղորդագրությամբ:
- Բացի այդ, դուք պետք է ստեղծեք հատուկ բացառություն՝ - UnsupportedOperatorError, որը ժառանգում է- ValueError-ից՝- Unsupported operatorհաղորդագրությամբ: Այս սխալը պետք է- raiseարվի, եթե փորձ է արվում կատարել գործողություն, որը, class-ի կողմից չի ընդունվում: Օրինակ՝- __floordiv__,- __mod__,- __pow__,- __lshift__,- __rshift__,- __and__,- __xor__,- __or__։
Բոլոր վավեր կախարդական մեթոդները պետք է վերադարձնեն Number օբյեկտ:
Նշում: Մի մոռացեք իրականացնել __str__ կախարդական մեթոդը՝ Number-ի արժեքը վերադարձնելու համար:
| Մուտք | Ելք | 
| 
 | 12 | 
| 
 | Cannot divide by zero | 
| 
 | Invalid number input | 
| 
 | Unsupported operator | 
| 
 | Operator must be a Number | 
| 
 | 20 | 
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB