1. 程式人生 > >用python實現銀行轉賬功能

用python實現銀行轉賬功能

賬號 pytho exec llb 賬戶 密碼 rollback money 輸入數據

#coding:utf-8 import MySQLdb #調用MySQL數據庫模塊 conn=MySQLdb.Connect( host='.........', #輸入數據庫的IP地址 port=3306, #輸入數據庫的使用端口 user='......', #輸入數據庫用戶賬號 passwd='......', #輸入數據庫用戶密碼 db='......', #輸入數據庫名稱 charset='utf8' #輸入數據庫編碼 ) #轉賬函數 def transfer(s_id,d_id,num): conn.autocommit(False) a=id_avi(s_id) #調用賬號確認函數 b=id_avi(d_id) c=money_avi(s_id,num) #調用余額確認函數 if a and b and c: money_reduce(s_id,num) #調用減錢函數 money_add(d_id,num) #調用加錢函數 conn.commit() print u'轉賬成功!' else: print u'轉賬失敗!' conn.rollback() #存錢函數 def add_in(id,num): a=id_avi(id) if a: money_add(id,num) #調用加錢函數 conn.commit() else: print u'賬號%s不存在,請核對!'%id conn.rollback() #取錢函數 def reduce_out(id,num): a=id_avi(id) b=money_avi(id,num) if a and b: money_reduce(id,num) #調用減錢函數 conn.commit() else: print u'取錢失敗!請核對!' conn.rollback() #賬號確認函數 def id_avi(id): curr=conn.cursor() sql='select * from money where uid=%s'%id curr.execute(sql) row=curr.rowcount if row==1: print u'賬戶%s確認成功!'%id return True else: print u'賬戶%s確認失敗!'%id return False curr.close() #賬戶余額確認函數 def money_avi(id,num): curr=conn.cursor() sql='select money from money where uid=%s'%id curr.execute(sql) n=curr.fetchone() nn=n[0] if nn>=num: print u'賬戶%s余額足夠!'%id return True else: print u'賬戶%s余額不足!'%id return False curr.close() #減錢函數 def money_reduce(id,num): curr=conn.cursor() sql='update money set money=money-%s where uid=%s'%(num,id) curr.execute(sql) print u'轉出確認!' curr.close() #加錢函數 def money_add(id,num): curr=conn.cursor() sql='update money set money=money+%s where uid=%s'%(num,id) curr.execute(sql) print u'轉入確認!' curr.close() #實例: reduce_out(1,2000) transfer(2,1,1999)

用python實現銀行轉賬功能