用python实现银行转账功能
短信预约 -IT技能 免费直播动态提醒
#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)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341