एक कस्टम कैलकुलेटर बनाना
आपका कार्य एक Number क्लास बनाना है जो पायथन के मैजिक मेथड्स (__add__, __sub__, __mul__, __truediv__) का उपयोग करके गणितीय गणनाएं कर सके। लेकिन यह क्लास मजबूत होनी चाहिए और इन ऑपरेशन्स के दौरान उत्पन्न होने वाली विभिन्न एक्सेप्शन्स को संभालने में सक्षम हो:
यदि शून्य से विभाजन करने का प्रयास किया जाता है, तो
ZeroDivisionErrorउठाना चाहिए जिसके साथ संदेश होCannot divide by zero।यदि इनपुट्स में से किसी को संख्या में परिवर्तित नहीं किया जा सकता है, तो
ValueErrorउठाना चाहिए जिसके साथ संदेश होInvalid number input।यदि ऑपरेटर
Numberनहीं है, तोTypeErrorउठाना चाहिए जिसके साथ संदेश होOperator must be a Number।इसके अतिरिक्त, आपको एक कस्टम एक्सेप्शन
UnsupportedOperatorErrorको लागू करना चाहिए जोValueErrorसे इनहेरिट करता हो, और जिसका संदेश होUnsupported operator। यह त्रुटि तब उठानी चाहिए जब ऐसा ऑपरेशन किया जाए जो इस क्लास द्वारा समर्थित नहीं है। इसमें शामिल हैं__floordiv__,__mod__,__pow__,__lshift__,__rshift__,__and__,__xor__,__or__।
सभी मान्य मैजिक मेथड्स एक Number ऑब्जेक्ट को वापस करने चाहिए।
नोट: Number के मान को प्रदान करने के लिए __str__ मैजिक मेथड को लागू करना न भूलें।
इनपुट | आउटपुट |
| 12 |
| Cannot divide by zero |
| Invalid number input |
| Unsupported operator |
| Operator must be a Number |
| 20 |
| Unsupported operator |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB