利用python开发银行储蓄_用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)
利用python开发银行储蓄_用python实现银行转账功能相关推荐
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python网站迁移_在Python中利用Into包整洁地进行数据迁移的教程
动机 我们花费大量的时间将数据从普通的交换格式(比如CSV),迁移到像数组.数据库或者二进制存储等高效的计算格式.更糟糕的是,许多人没有将数据迁移到高效的格式,因为他们不知道怎么(或者不能)为他们的工 ...
- python对象引用计数器_在Python中借助计数器对象对项目进行计数
python对象引用计数器 前提 (The Premise) When we deal with data containers, such as tuples and lists, in Pytho ...
- python 网页编程_通过Python编程检索网页
python 网页编程 The internet and the World Wide Web (WWW), is probably the most prominent source of info ...
- python机器学习预测_使用Python和机器学习预测未来的股市趋势
python机器学习预测 Note from Towards Data Science's editors: While we allow independent authors to publish ...
- python的认识_认识Python和基础知识
一.第一个Python程序 用vim编写,格式: vim hello.py 然后按 i 进入插入模式开始写代码,注意所有的代码都要用英文输入法,先写括号和引号,再在引号里面写内容(为了避免引号.括号不 ...
- python 免费空间_用python做大数据
不学Python迟早会被淘汰?Python真有这么好的前景? 最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Pytho ...
- python 创意项目_针对python开发人员的10个很棒的python项目创意
python 创意项目 The joy of coding Python should be in seeing short, concise, readable classes that expre ...
最新文章
- ASP.NET Core身份认证服务框架IdentityServer4(2)-整体介绍
- 生成多个互不重叠的不同半径圆
- 【OpenCV3】棋盘格角点检测与绘制——cv::findChessboardCorners()与cv::drawChessboardCorners()详解
- pycharm更换源(换源)(镜像源)
- go数组详解:数组的定义、遍历、使用细节、二维数组的定义及其遍历
- ejb能调用另一个ejb吗_异步EJB只是一个Gi头吗?
- 红黑树和平衡二叉树的区别_面试题精选红黑树(c/c++版本)
- 【AI视野·今日Robot 机器人论文速览 第二期】Mon, 7 Jun 2021
- 思科三层交换机开启ipv6路由功能_三层交换机实现路由功能配置示例与详解 (Cisco Packer Tracer 模拟器)...
- 【开发工具IDE】eclipse的web项目的tomcat安装部署问题
- Head First SQL Your Brain on SQL读书笔记
- 程设课终章:c++使用socket实现bmp图片的传输
- JS+CSS实现漂亮的日历特效(仿win10系统日历)
- 小米2020校招软件开发工程师笔试题二
- 【大数据分析软件应用在足球预测实例】足球滚球走地大小球分析方法和技巧
- 长期喝可乐会造成记忆障碍,还更容易患病,“可乐自由”竟然都这么难
- Github优秀作品
- 奥维查看行政边界_【百度地图API】如何获取行政区域的边界? (转载)
- 科学计算机可以带上飞机吗,笔记本电脑可以随身带上飞机吗
- 淘宝怎么做推广?史上最全的淘宝流量入口整理
热门文章
- 17Joys CMS企业网站管理系统 v1.0
- 感知机实现与门,与非门,或门,异或门
- 吴恩达加入医疗机器人公司Woebot,AlphaGo Zero问世,高性能完胜旧版 | 大数据24小时
- puppy linux 默认密码,puppylinux使用手册.doc
- 科学计算机 logo,电脑上各种标志的源起(一)
- 解决xampp安装后遇到的常见问题
- 丁书苗发家过程披露:结识刘志军后财富增10倍
- 2021-09-18P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布P2058 [NOIP2016 普及组] 海港
- 数据结构中ElemType是什么意思
- 信息资源管理【三】之 信息系统资源管理