用python實現銀行轉賬功能

#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)