एक कस्टम कैलकुलेटर बनाना
आपका कार्य एक 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