@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府
文章目录
最近一直在做一个有关信用卡系统的项目,所有很少出来给大家打招呼了,今天也该告一段了,本项目是基于python编程语言做的,此信用卡支持购物,转账和存取钱,下面小编把需求及实现思路大概分享一下,仅供参考,如有bug欢迎各位大侠提出,共同学习进步,谢谢!
一、要求
二、思路
1.购物类buy
接收 信用卡类 的信用卡可用可用余额,
返回消费金额
2.信用卡(ATM)类
接收上次操作后,信用卡可用余额,总欠款,剩余欠款,存款
其中: 1.每种交易类型不单独处理金钱,也不单独记录流水账,每种交易类型调用处理金钱的函数(传入交易类型,交易金额)
2.处理金钱的函数,调用配置文件中关于每种交易类型的加减钱和利率
返回本次操作后信用卡可用余额,总欠款,剩余欠款,存款
#3.客户端
银行管理员注册登陆
普通用户注册登陆
发送需求:注册、登陆、交易类型、交易金额
4.服务器端
调用购物类,创建购物对象(购物接口)
调用信用卡(ATM)类,处理还款,转账等操作,对利息按月记录,写入文件
5.定时任务
定时执行程序,以计算利息。
三、代码
3.1配置文件
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) #配置文件的上层目录
DB_DIR=os.path.join(BASE_DIR,'db') #数据文件夹
ADMIN=os.path.join(DB_DIR,'admin')
ALL_USERS=os.path.join(DB_DIR,'allusrs')
A=os.path.join(BASE_DIR,'db','s')
LOG=os.path.join(BASE_DIR,'log')
TRANSACTION={
'repay':{'action':'plus','interest':0}, #还款
'withdraw':{'action':'minus','interest':0.05},#取现
'transfer':{'action':'minus','interest':0.05},#转账
'consume':{'action':'minus','interest':0},#消费
'saving':{'action':'plus','interest':0} #存款
3.2公共类
3.2.1购物类
class buy:
goods=[
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
def __init__(self,money,consumption,shopping_cart,):
self.money=money
self.consumption=consumption
self.shopping_cart=shopping_cart
def gouwu(self): #购物模块
print('您的当前余额为:%d' %self.money)
num=int(input('请输入商品序号:'))
num-=1
if self.goods[num]["name"] in self.shopping_cart.keys(): #goods[num]["name"]取商品名
self.shopping_cart[self.goods[num]["name"]]['n']+=1 #商品数量+1
else:
self.shopping_cart[self.goods[num]["name"]]={"price":self.goods[num]["price"],'n':1,} # 创建购物车字典 {keys{"price":价格,数量:1}}
self.money-=self.shopping_cart[self.goods[num]["name"]]["price"]*self.shopping_cart[self.goods[num]["name"]]['n'] #单价*数量
self.consumption+=self.shopping_cart[self.goods[num]["name"]]["price"]*self.shopping_cart[self.goods[num]["name"]]['n']
def yichu(self): #移除购物车模块
c=int(input(' 请输入0/1选择是否移除购物车商品, 移除请输入1:'))
if c==1:
e=int(input(' 请输入要移除的商品序号:'))
d=self.goods[e-1]
if d in self.shopping_cart.keys(): #判断要移除的商品是否在购物车内
self.shopping_cart.remove(d) #移除商品
self.money=self.money+self.goods[self.goods.index(d)]["price"] #余额增加
self.consumption=self.consumption-self.goods[self.goods.index(d)]["price"] #消费总额减少
else:
print('商品不存在')
def chongzhi(self): #充值模块
pay=int(input('请输入充值金额'))
self.money=self.money+pay
print('您