-1
私は、ローンと呼ばれるクラスを持つプログラムを作成しようとしています。これは、毎月の支払いとデータフィールドを持つ自動車の合計支払いを計算します。私のエラーは、メソッド(getMonthlyPayment())をメソッド(getTotalPayment)に持つことによって発生していると推測しています。どのようにメソッドをメソッドの中に入れますか?または、私の問題の別の解決策がありますか?Pythonクラス - メソッド
ありがとうございます!
私のエラーは、次のとおりです。
Traceback (most recent call last): File "C:\Users\ericl_000\Desktop\Python\HW 5 (Python).py", line 38, in <module> main() File "C:\Users\ericl_000\Desktop\Python\HW 5 (Python).py", line 37, in main print("The total payment is ", loan.getTotalPayment()) File "C:\Users\ericl_000\Desktop\Python\HW 5 (Python).py", line 27, in getTotalPayment return getMonthlyPayment * self.__NumYearsLoans * 12 NameError: name 'getMonthlyPayment' is not defined >>>
class Loan:
def __init__(self, AnnIntRate = 1.0, NumYearsLoans = 1.0, LoanAmt = 1.0, BoName = " "):
self.__AnnIntRate = AnnIntRate
self.__NumYearsLoans = NumYearsLoans
self.__LoanAmt = LoanAmt
self.__BoName = BoName
def getAnnIntRate(self):
return self.__AnnIntRate
def getNumYearsLoans(self):
return self.__NumYearsLoans
def getLoanAmt(self):
return self.__LoanAmt
def getBoName(self):
return self.__BoName
def setAnnIntRate(self,AnnIntRate):
self.__AnnIntRate = AnnIntRate
def setNumYearsLoans(self,NumYearsLoans):
self.__NumYearsLoans = NumYearsLoans
def setLoanAmt(self,LoanAmt):
self.__LoanAmt = LoanAmt
def setBoName(self,BoName):
self.__BoName = BoName
def getMonthlyPayment(self):
monthlyIntRate = self.__AnnIntRate/1200
return self.__LoanAmt * monthlyIntRate/(1 - (1/(1 + monthlyIntRate) ** (self.__NumYearsLoans * 12)))
def getTotalPayment(self):
return getMonthlyPayment() * self.__NumYearsLoans * 12
def main():
YearlyIntRate = float(input("Enter yearly interest rate, for example, 7.25: "))
NumOfYears = float(input("Enter number of years as an integer: "))
LoanAmount = float(input("Enter loan amount, for example, 120000.95: "))
BorrowerName = input("Enter a borrow's name: ")
loan = Loan(YearlyIntRate,NumOfYears,LoanAmount,BorrowerName)
print("The loan is for ", loan.getBoName())
print("The monthly payment is ", loan.getMonthlyPayment())
print("The total payment is ", loan.getTotalPayment())
main()
PythonでBeanスタイルのゲッターとセッター?ホラー!また、インスタンスメソッドにアクセスする前に、 'self.'が不足しています。 Pythonは明示的です。 – Kupiakos
ありがとう@Kupiakos! :)私は決議として置くことができるように答えに投稿してください – TheEWL