बैंक खाते
कल्पना कीजिए कि आप एक शीर्ष स्तरीय बैंक में सॉफ़्टवेयर इंजीनियर हैं। बैंक अपने बैकएंड सिस्टम को बेहतर बनाने पर काम कर रहा है, और आपका काम विभिन्न प्रकार के बैंक खातों का प्रतिनिधित्व करने के लिए नई क्लासेस को डिज़ाइन और इम्प्लिमेंट करना है।
बैंक दो प्रकार के खाते प्रदान करता है: चेकिंग और सेविंग्स। दोनों प्रकार के खातों में ग्राहक धन जमा कर सकते हैं और निकाल सकते हैं। लेकिन प्रत्येक खाते के अपने विशेष गुण हैं। चेकिंग खातों में एक ओवरड्राफ्ट लिमिट होती है, जो ग्राहकों को उनके वर्तमान बैलेंस से अधिक धन निकालने की अनुमति देती है, ओवरड्राफ्ट लिमिट तक। सेविंग्स खातों में वार्षिक प्रतिशत आय (annual percentage yield) के आधार पर ब्याज अर्जित होता है।
आपका काम है तीन Python क्लासेस बनाना: BankAccount, CheckingAccount, और SavingsAccount। इन सभी को शुरुआती balance राशि के साथ इनिशियलाइज़ किया जाता है।
BankAccountक्लास में दो मेथड होने चाहिए:depositऔरwithdraw।depositमेथड से बैलेंस में जमा की गई राशि जुड़ जाएगी।withdrawमेथड से बैलेंस में से निकासी की गई राशि घट जाएगी। दोनों ऑपरेशन्स के बाद अंतिम बैलेंस कोBalance: <X>फॉर्मेट में प्रिंट करना चाहिए। यदि पर्याप्त धन नहीं है, तो प्रोग्रामInsufficient funds.प्रिंट करे।CheckingAccountक्लास कोBankAccountसे इनहेरिट करना चाहिए और एक अतिरिक्त एट्रिब्यूट जोड़ना चाहिए:overdraft_limit।CheckingAccountमेंwithdrawमेथड को ओवरराइड किया जाना चाहिए ताकि ग्राहक अपने वर्तमान बैलेंस से अधिक धन ओवरड्राफ्ट लिमिट तक निकाल सकें। यदि ओवरड्राफ्ट लिमिट से अधिक निकासी होती है, तो प्रोग्रामWithdrawal exceeds overdraft limit.प्रिंट करे।SavingsAccountक्लास भीBankAccountसे इनहेरिट करे। इसमें एक अतिरिक्त इनिशियलाइज़ेशन एट्रिब्यूट होना चाहिए:annual_percentage_yield, और एक मेथडcalculate_returnsजोड़ना चाहिए जोannual_percentage_yieldके आधार पर बचत पर रिटर्न की गणना करता है।calculate_returnsमेथड रिटर्न कोReturns: Xफॉर्मेट में प्रिंट करे।
किसी भी खाते का बैलेंस कभी नकारात्मक नहीं होना चाहिए (सिवाय CheckingAccount के, जहाँ यह नकारात्मक ओवरड्राफ्ट लिमिट तक जा सकता है)।
इनपुट | आउटपुट |
|---|---|
| Balance: 700 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB