बैंक खाते
कल्पना कीजिए कि आप एक शीर्ष स्तरीय बैंक में सॉफ़्टवेयर इंजीनियर हैं। बैंक अपने बैकएंड सिस्टम को बेहतर बनाने पर काम कर रहा है, और आपका काम विभिन्न प्रकार के बैंक खातों का प्रतिनिधित्व करने के लिए नई क्लासेस को डिज़ाइन और इम्प्लिमेंट करना है।
बैंक दो प्रकार के खाते प्रदान करता है: चेकिंग और सेविंग्स। दोनों प्रकार के खातों में ग्राहक धन जमा कर सकते हैं और निकाल सकते हैं। लेकिन प्रत्येक खाते के अपने विशेष गुण हैं। चेकिंग खातों में एक ओवरड्राफ्ट लिमिट होती है, जो ग्राहकों को उनके वर्तमान बैलेंस से अधिक धन निकालने की अनुमति देती है, ओवरड्राफ्ट लिमिट तक। सेविंग्स खातों में वार्षिक प्रतिशत आय (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
के, जहाँ यह नकारात्मक ओवरड्राफ्ट लिमिट तक जा सकता है)।इनपुट | आउटपुट |
check = CheckingAccount(500, 100); check.deposit(200); check.withdraw(800); saving = SavingsAccount(500, 0.05); saving.calculate_returns() | Balance: 700
Balance: -100
Returns: 25 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB