如何使用python维护简单的借贷对账单
我正在使用python(oops)中的以下代码来维护贷项-借方对账单。Classdef_Cash.py文件具有程序的主结构,Cash_001.py文件具有贷项和借方代码。除了贷项和借方值没有定期更新之外,一切正常。有人能帮我吗?请参考这两个文件并运行Cash_001.py文件。”“”如何使用python维护简单的借贷对账单,python,oop,Python,Oop,我正在使用python(oops)中的以下代码来维护贷项-借方对账单。Classdef_Cash.py文件具有程序的主结构,Cash_001.py文件具有贷项和借方代码。除了贷项和借方值没有定期更新之外,一切正常。有人能帮我吗?请参考这两个文件并运行Cash_001.py文件。”“” Classdef_Cash_001.py是第一个文件,Cash_001.py是第二个文件 class Cash: def __init__(self, DATE, VOUCHER, SPECIFIC
Classdef_Cash_001.py
是第一个文件,Cash_001.py
是第二个文件
class Cash:
def __init__(self, DATE, VOUCHER, SPECIFICATION, INITIAL_AMOUNT, CREDIT,DEBIT, REMARKS, BALANCE):
self.DATE = DATE
self.VOUCHER = VOUCHER
self.SPECIFICATION = SPECIFICATION
self.CREDIT = CREDIT
self.DEBIT = DEBIT
self.REMARKS = REMARKS
self.BALANCE = INITIAL_AMOUNT
def Spending(self,DATE,VOUCHER,SPECIFICATION,DEBIT,REMARKS):
self.DATE = DATE
self.VOUCHER = VOUCHER
self.SPECIFICATION = SPECIFICATION
self.REMARKS = REMARKS
self.BALANCE -= DEBIT
def CashInflow(self,DATE,VOUCHER,SPECIFICATION,CREDIT,REMARKS):
self.DATE = DATE
self.VOUCHER = VOUCHER
self.SPECIFICATION = SPECIFICATION
self.REMARKS = REMARKS
self.BALANCE += CREDIT
def dump(self):
s = 'DATE: %s, VOUCHER: %s, SPECIFICATION: %s , CREDIT: %s ,DEBIT: %s ,REMARKS :%s ,BALANCE :%s ' % \
(self.DATE,self.VOUCHER, self.SPECIFICATION, self.CREDIT, self.DEBIT, self.REMARKS,self.BALANCE)
print s
from Classdef_Cash_001 import Cash
p1=Cash('01/10/2018','000','CARRY FORWARD',2000,0,0,'REMAINDER','0')
p1.dump()
p1.Spending('01/10/2018','001','OIL',200,'JOHN')
p1.dump()
p1.CashInflow('02/10/2018','002','SALES',10000,'REF179800')
p1.dump()
p1.Spending('03/10/2018','003','GAS',200,'GEORGE')
p1.dump()
p1.CashInflow('03/10/2018','004','SALES',50000,'REF179801')
p1.dump()
Cash_001.py
是第二个文件
class Cash:
def __init__(self, DATE, VOUCHER, SPECIFICATION, INITIAL_AMOUNT, CREDIT,DEBIT, REMARKS, BALANCE):
self.DATE = DATE
self.VOUCHER = VOUCHER
self.SPECIFICATION = SPECIFICATION
self.CREDIT = CREDIT
self.DEBIT = DEBIT
self.REMARKS = REMARKS
self.BALANCE = INITIAL_AMOUNT
def Spending(self,DATE,VOUCHER,SPECIFICATION,DEBIT,REMARKS):
self.DATE = DATE
self.VOUCHER = VOUCHER
self.SPECIFICATION = SPECIFICATION
self.REMARKS = REMARKS
self.BALANCE -= DEBIT
def CashInflow(self,DATE,VOUCHER,SPECIFICATION,CREDIT,REMARKS):
self.DATE = DATE
self.VOUCHER = VOUCHER
self.SPECIFICATION = SPECIFICATION
self.REMARKS = REMARKS
self.BALANCE += CREDIT
def dump(self):
s = 'DATE: %s, VOUCHER: %s, SPECIFICATION: %s , CREDIT: %s ,DEBIT: %s ,REMARKS :%s ,BALANCE :%s ' % \
(self.DATE,self.VOUCHER, self.SPECIFICATION, self.CREDIT, self.DEBIT, self.REMARKS,self.BALANCE)
print s
from Classdef_Cash_001 import Cash
p1=Cash('01/10/2018','000','CARRY FORWARD',2000,0,0,'REMAINDER','0')
p1.dump()
p1.Spending('01/10/2018','001','OIL',200,'JOHN')
p1.dump()
p1.CashInflow('02/10/2018','002','SALES',10000,'REF179800')
p1.dump()
p1.Spending('03/10/2018','003','GAS',200,'GEORGE')
p1.dump()
p1.CashInflow('03/10/2018','004','SALES',50000,'REF179801')
p1.dump()
请参考下面的代码。这正是我想要的一个统一的借贷余额表。无论何时有资金流入,借方都被强制为零,无论何时有支出,贷方都被强制为零。贷方和借方仅在输出的第一行保持零,这是从上个月。这类似于有输入时禁用输出,有输出时禁用输入的概念。请运行Cash_001.py文件
#Classdef_Cash_001.py
class Cash:
def __init__(self, DATE, VOUCHER, SPECIFICATION, INITIAL_AMOUNT, CREDIT,DEBIT,
REMARKS, BALANCE):
self.DATE = DATE
self.VOUCHER = VOUCHER
self.SPECIFICATION = SPECIFICATION
self.CREDIT = CREDIT
self.DEBIT = DEBIT
self.REMARKS = REMARKS
self.BALANCE = INITIAL_AMOUNT
def Spending(self,DATE,VOUCHER,SPECIFICATION,DEBIT,CREDIT,REMARKS):
self.DATE = DATE
self.VOUCHER = VOUCHER
self.SPECIFICATION = SPECIFICATION
self.REMARKS = REMARKS
self.DEBIT = DEBIT
self.CREDIT = 0
self.BALANCE -= DEBIT
def CashInflow(self,DATE,VOUCHER,SPECIFICATION,CREDIT,DEBIT,REMARKS):
self.DATE = DATE
self.VOUCHER = VOUCHER
self.SPECIFICATION = SPECIFICATION
self.REMARKS = REMARKS
self.CREDIT = CREDIT
self.DEBIT = 0
self.BALANCE += CREDIT
def dump(self):
s = 'DATE: %s, VOUCHER: %s, SPECIFICATION: %s , CREDIT: %s ,DEBIT: %s
,REMARKS :%s ,BALANCE :%s ' % \
(self.DATE,self.VOUCHER, self.SPECIFICATION, self.CREDIT, self.DEBIT,
self.REMARKS, self.BALANCE)
print s
#Cash_001.py
from Classdef_Cash_001 import Cash
p1=Cash('01/10/2018','000','CARRY FORWARD',2000,0,0,'REMAINDER',0)
p1.dump()
p1.Spending('01/10/2018','001','OIL',200,0,'JOHN')
p1.dump()
p1.CashInflow('02/10/2018','002','SALES',1000,0,'REF179800')
p1.dump()
p1.Spending('03/10/2018','003','GAS',200,0,'GEORGE')
p1.dump()
p1.CashInflow('03/10/2018','004','SALES',5000,0,'REF179801')
p1.dump()
我们应该猜测您得到了什么结果以及您期望得到什么结果吗?不相关,但您的设计在我看来是非常错误的-您正在覆盖实例属性,而很可能希望跟踪所有操作。您确实需要两个不同的类:一个表示离散操作(应该是不可变的),并跟踪这些操作。请使用所有相关信息编辑您的帖子-您得到了什么,以及您期望得到什么。贷方和借方值不能同时为零。对于花费的现金或进入帐户的现金,贷方应为非零或借方应为非零。输出如下。日期:2018年10月1日,凭证:000,规格:结转,贷方:0,借方:0,备注:余额,余额:2000日期:2018年10月1日,凭证:001,规格:油,贷方:0,借方:0,备注:JOHN,余额:2018年10月1日,凭证:001,SP规格:油,贷方:0,借方:0,备注:约翰,余额:1800预计:日期:2018年10月1日,凭证:001,规格:油,贷方:0,借方:200,备注:约翰,余额:1800