ATM-interface-bank
from lib import common
from db import db_handler user_logger = common.get_logger('bank') def check_balance(name):
dic =db_handler.select(name)
return dic['balance'] def transfer_interface(from_name,toname,balance):
if from_name==toname:
return False,'不能转账给自己'
to_dic =db_handler.select(toname)
if to_dic:
from_dic = db_handler.select(from_name)
if from_dic['balance']>=balance:
from_dic['balance']-=balance
to_dic['balance']+=balance
from_dic['bankflow'].append('%s转%s元账给了%s'%(from_name,balance,toname))
to_dic['bankflow'].append('%s收到了%s转来的%s元'%(toname,from_name,balance))
db_handler.save(from_dic)
db_handler.save(to_dic)
user_logger.info('%s转账给了%s:%s元'%(from_name,toname,balance))
return True,'转账成功'
else:
return False,'余额不足'
else:
return False,'转账的用户名不存在' def repay_interface(name,balance):
dic = db_handler.select(name)
dic['balance']+=balance
dic['bankflow'].append('%s还款了%s元'%(name,balance))
db_handler.save(dic)
user_logger.info('%s还款了%s元'%(name,balance))
return True,'还款成功' def withdraw_interface(name,balance):
dic = db_handler.select(name)
balance1 = balance*1.05
if dic['balance']>=balance1:
dic['balance']-=balance
dic['bankflow'].append('%s取走了%s元'%(name,balance))
user_logger.info('%s取走了%s元'%(name,balance))
db_handler.save(dic)
return True,'取款成功'
else:
return False,'取款失败' def check_record_interface(name):
dic = db_handler.select(name)
return dic['bankflow'] def consume_interface(name,cost):
dic = db_handler.select(name)
if dic['balance']>=cost:
dic['balance']-=cost
db_handler.save(dic)
return True,'扣款成功'
else:
return False,'余额不足'
ATM-interface-bank的更多相关文章
- 项目: ATM+购物车
ATM+购物车 项目文件: 介绍 以下为文件夹层次和内容: readme.md 1. 需求 模拟银行取款 + 购物全过程 1.注册 2.登录 3.提现 4.还款 5.转账 6.查看余额 7.查看购物车 ...
- First Project -用函数写的ATM+购物商城程序
作业需求:模拟实现一个ATM + 购物商城程序 额度15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠 ...
- UML 用例图、顺序图、状态图、类图、包图、协作图、流程图
用例图.顺序图.状态图.类图.包图.协作图 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling La ...
- [转] 从 C 到 Objective C 入门1
转自: http://blog.liuhongwei.cn/iphone/objective-c/ 进军iPhone开发,最大的难点之一就是怪异的Objective C语法了.不过,了解之后才发现,原 ...
- UML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...
- CCNA长语
思科认证网络支持工程师(Cisco Certified Network Associate_CCNA) 专业英文词汇大全 10BaseT-----原始IEEE802.3标准的一部分,1OBaseT是1 ...
- (转)UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...
- 工厂模式 - 程序实现(java)
09年5月CSDN一网友提出如下问题: 设计一个用于管理银行客户的类BankCustomer: 仅描述客户的几个重要方面: 帐号.身份证号.姓名.联系方式.密码.账户余额. 所有的成员变量均用priv ...
- (转)UML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图
原文链接:http://dn.codegear.com/article/31863 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是 ...
- RMI远程服务调用
数据库:info.sql /* Navicat MySQL Data Transfer Source Server : yuanzhen Source Server Version : 50713 S ...
随机推荐
- JS——操作元素属性
属性的操作包括:读和写 方法: 1)”.“操作 2)”[ ]“操作 eg: var oDiv = document.getElementById('div1'); var attr = 'color' ...
- sql server 分析
查询指令,查询数据库的版本 SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPE ...
- ASP Session的功能的缺陷以及解决方案
转http://www.cnblogs.com/jhy55/p/3376925.html 目前ASP的开发人员都正在使用Session这一强大的功能,但是在他们使用的过程中却发现了ASP Sessio ...
- springboot集成freemarker 配置application.properties详解
#配置freemarker详解 #spring.freemarker.allow-request-override=false # Set whether HttpServletRequest att ...
- 生产消费者模式与python+redis实例运用(基础篇)
根据这个图,我们举个简单的例子:假如你去某个餐厅吃饭,点了很多菜,厨师要一个一个菜的做,一个厨师不可能同时做出所有你点的菜,于是你有两个选择:第一个,厨师把所有菜都上齐了,你才开始吃:还有一个选择,做 ...
- 自定义列表dl
语法格式 <dl> <dt>名词1</dt> <dd>名词1解释1</dd> <dd>名词1解释2</dd> ... ...
- Python学习-用户输入和字符串拼接
用户输入和字符串拼接 #用户输入和字符串拼接username=input("username:")age=int(input("Age:")) #转换整数型 ...
- linux性能测试脚本
http://linux-bench.com/ What is Linux-Bench? Linux-Bench is a simple script that provides a basic le ...
- C++编写双向链表
创建双向链表类,该类有默认构造函数.类的拷贝函数.类的.实现链表添加数据.升序排序.查找链表中某个节点及删除链表中某个节点的操作 代码实现: #include<iostream> #inc ...
- Coursera 算法二 week 3 Baseball Elimination
这周的作业不需要自己写算法,只需要调用库函数就行,但是有些难以理解,因此用了不少时间. import edu.princeton.cs.algs4.FlowEdge; import edu.princ ...