Bank transfer, Python Programming

Assignment Help:

Bank transfer

What  if we  have  two  values,  representing bank  accounts, and  need  to transfer an  amount of money  amt between them?  Consider that a bank account is shown as a list of values,  such as ['Alyssa', 8300343.03, 0.05], defining that 'Alyssa' has a bank balance  of $8,300,343.03, and has to give a 5-cent fee for every  bank transaction. We may  give  this function as follows. It transfers the amount from  one balance  to the other,  and  deduct the transaction fee from  each account.

def transfer(a1, a2, amt):

a1[1] = a1[1] - amt - a1[2]

a2[1] = a2[1] + amt - a2[2]

To understand what  it's doing,  you really have to read  the code at a detailed layer.  Furthermore, it's simple to get the variable names  and subscripts wrong.

 

Here's another version that  abstracts away  the common idea of a deposit (which  can be positive or negative) into a function, and uses it twice:

 

def transfer(a1, a2, amt): deposit(a1, -amt) deposit(a2, amt)

def deposit(a, amt):

a[1] = a[1] + amt - a[2]

 

Now,  transfer looks pretty simple, but deposit can  still use some work.  In particular, the need of numeric indices  to get the components out of the bank  account de?nition is a bit cryptic  (and easy to get wrong).10

 

def deposit(a, amt):

(name, balance, fee) = a

a[1] = balance + amt - fee

 

Here,  we've used  a destructuring assignment statement to give names  to the components of the account. Unfortunately, when  we want  to modify  a component of the list showing the account, we have  to index  it explicitly.   Shown  that  we have  to use explicit  indices,  this  mechanism in which  we name  them  might  be better.

 

acctName = 0 acctBalance = 1 acctFee = 2

def deposit(a, amt):

a[acctBalance] = a[acctBalance] + amt - a[acctFee]

 

Strive, in your  programming, to make  your  code as easy, simple, clear and  direct  as possible.  Rarely,  the clear  and  simple approach will be too inef?cient, and  you'll have  to work on  something more  hard. In such type, you should still initiate with  something simple and  clear,  and  in the end, you may use it as documentation

 


Related Discussions:- Bank transfer

Lab programming, protocol rdt2.2 considers there is a bit errors between se...

protocol rdt2.2 considers there is a bit errors between sender to receiver and also from receiver to sender. So now we have to consider checking bit errors introduced in reply from

Python implementation of a solver for the desert crossing, Assume you have ...

Assume you have a truck which has to travel across a desert from the base camp at position 0 (left) to the target camp at position 4 (right). The intermediate positions 1,2, and 3

Tower of Hanoi, Tower of Hanoi game that you can let a player to move discs...

Tower of Hanoi game that you can let a player to move discs between the towers using a mouse. Moreover, you are required to do the followings: •Graphically represent any state in t

Top-down approach, what are the issues assciated with top-down analysis

what are the issues assciated with top-down analysis

Program requests password to display information of author, Write a program...

Write a program that requests a password after the author/program information is displayed. Make the password "hello". The program should then ask the user for their name: if the n

Environments in python, Environments in Python Generally, Python estab...

Environments in Python Generally, Python establishes the following binding environments: 1.  builtin     : the mother of all environments: it contains the de?nitions of

Algorithms, how to calculate area of a square in square metres

how to calculate area of a square in square metres

Cps translator for python, Your task is to construct a translator from the ...

Your task is to construct a translator from the subset of Python in Project 3 intocontinuation-passing style (CPS). Of course, the expected way of accomplishing this is to trans

Programming, We sell pdf''s from our site and pdfs can be ordered from the ...

We sell pdf''s from our site and pdfs can be ordered from the site by selecting a book, putting it in a shopping cart, then signing in with a password or as a guest, and then check

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd