簡體   English   中英

函數Python的多個參數定義

[英]Multiple parameters definition of a function Python

我正在嘗試編寫一個計算貸款成本的函數,但我一直使貸款成本成為用戶輸入的貸款金額的負值。

#define monthly payment
def MonthlyPayment (ammountOfLoan, numberOfPeriods,yearlyInterestRate):
    ammountOfLoan = 0
    numberOfPeriods = 0
    yearlyInterestRate = 0
    payment = [(yearlyInterestRate/12)/(1-(1+yearlyInterestRate/12))**(-numberOfPeriods)] * ammountOfLoan      
    return (payment)


#define cost of loan    
def LoanCost(principal, month, payment):
    period = 0
    month = 0
    payment = 0
    cost = period * payment - principal
    return (cost)

#calculate cost of loan
def main():
    loan = float(raw_input("What is the ammount of your loan? "))
    period = float(raw_input("How many months will you make payments? "))
    rate = float(raw_input("What is the interest rate? "))
    rate = rate / 100
    MonthlyPayment(loan, period, rate)
    costOfLoan = LoanCost(loan, period, rate)
    print "The cost of the loan is $" + str(costOfLoan)

#run main
main()

LoanCost會將期間和付款設置為0(您在MonthlyPayment中也犯了同樣的錯誤),然后將它們相乘。 因此,您最終得到(0 * 0)-主體。 當您真正表示的是“期間”時,您也將第二個參數稱為“月”。

澄清一下,當您有一個函數定義

def func(a, b, c):

您不應在函數體內將a,b和c初始化為零。 這樣做會覆蓋它們的值。 只需直接使用它們即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM