ITPub博客

首页 > IT职业 > IT职场 > 用python实现银行转账功能

用python实现银行转账功能

IT职场 作者:lslzf 时间:2021-09-09 09:22:11 0 删除 编辑

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1070/viewspace-2802739/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    102
  • 访问量
    875