1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | import pickle accounts=dict() class Account: """SImple bank account """ def __init__(self,name,balance): self.name=name self.balance=balance def getname(self): return self.name def deposit(self,amount): if amount>0: self.balance+=amount def withdraw(self,amount): try: assert (amount>0) except: print("NO negative amount could be withdrawn") try: assert (balance-amount>0) except : print("maximum balance that could be withdrawn =",balance) balance-=amount def showbalance(self): print("*"*80,"\n\t\tCurrent Balance->",self.balance,"\b\n","*"*79) return self.balance def getbalance(self): return self.balance def new(): while True: name='' print("\n1.to Add an Account \n2.Deposit\n3.Withdraw\n4.View Balance\n5.View All Accounts Currenty Available \n6.Exit \n S or s to save ") choice=input() if choice=='1': name=input("Enter name->") temp=Account(name,0.0) accounts[name]=temp elif choice=='2': if name=='': name=input("Enter Name:->") if name in accounts.keys(): print("how much to add") amount=float(input()) if name in accounts: temp=accounts[name] temp.deposit(amount) else: print('Error Account Do not exist ') elif choice=='3': if name=='': name=input("Enter Name:->") if name in accounts.keys(): print("how much to Withdraw") amount=float(input()) if name in accounts: temp=accounts[name] temp.withdraw(amount) else: print('Error Account Do not exist ') elif choice=='4': if name=='': name=input("Enter Name:->") if name in accounts: temp=accounts[name] temp.showbalance() else : print('Error Account Do not exist ') elif choice=='6': break elif choice=='121': print(accounts) elif choice=='5': print('*'*120) print('\n\tName\t\t\t\t\tBalance') for key in accounts.keys(): print('-' * 80) print('\t',key,'\t\t\t\t\t',accounts[key].getbalance()) print('-' * 80) print('*' * 120) elif choice=='s' or 'S': pic_file = open('account_dump', 'ab') key_file = open('keydump', 'wb') pickle.dump(accounts, key_file) key_file.close() for key in accounts.keys(): temp = accounts[key] print("temp being dumped", temp) temp.showbalance() pickle.dump(temp, pic_file, protocol=pickle.HIGHEST_PROTOCOL) pickle.dump(temp.balance, pic_file, protocol=pickle.HIGHEST_PROTOCOL) pic_file.close() else : print ('Please give correct input ') pass def load(): try:
temp=open('keydump','rb')
temp2=open('account_dump','rb')
except Exception:
print("NO previous record found . Start a new banking ")
menu() details=pickle.load(temp2) key_details=pickle.load(temp) print('printing Key details') print(key_details) for i in (key_details): details = pickle.load(temp2) print("----1----",details.getbalance()) accounts[i]=details details = pickle.load(temp2) print("----2----", details.getbalance()) print('printing acc details') print(accounts) print('loading complete') temp2.close() temp.close() new() def menu(): choice=input('1.NEW Banking ---RESTART\n2.Load->') if choice=='1': new() if choice=='2': load() if choice=='q' or choice=='Q': exit() menu() if __name__=="__main__": menu() |
Seedr is a next-generation product aiming to bring the torrent experience to a whole new level. Although torrents are not exactly legal or safe, but they have now become part and parcel of our online life now. So, to access them in the fastest and safest way possible we have Seedr. Features: Stream movies, music, and books on any device With top-in-class streaming technology, Seedr allows you to watch movies, listen to music, or read anything in your torrent library directly from the cloud on any device. Private and safe Seedr has high-level transport encryption to protect your privacy, and there is no need to worry about malware, viruses, or outside tracking – Seedr is the barrier protecting you. Very fast Seedr runs on a high-speed backbone and can fetch torrents to the cloud within several minutes down to several seconds. Fetch and stream torrents on your mobile device If you’ve ever tried using torrents on either tablet or phone, you’d quickly find out how impracti...
Comments
Post a Comment
share your thoughts ....