这是我的代码,它不会给出正确答案:
print("Hello and welcome to Up-to-the Mark Mortgage Calculator!")
lamt = input("\n\n please enter the loan amount.")
intRate = input("please enter the interest rate.")
numOy = input("please enter the number of years.")
L = lamt
i = intRate
n = numOy
mortgageAmt = int(int(L)* (int(i) * (1+int(i)) * (int(n))/12) / ((1 +int(i))*(int(n)/12)-1))
print(int(mortgageAmt))
input("prompt:")
答案 0 :(得分:1)
你为什么迷恋int
?
如果您提示用户输入某个号码,但他们不会这样做,除非您使用try: except:
阻止,否则会导致您的程序崩溃。这可能就是为什么它没有正确地做到这一点。 int
不考虑小数,如果您想要小数,请使用float
。一般的想法是将您的问题包装到try
块中except ValueError:
,这样,如果他们没有输入数字,它将退出程序,而不是给你一个堆栈跟踪。我不知道你试图做什么配方,也不知道是每月付款还是每年付款。所以我使用了每月按揭付款公式。
try:
lamt = float(input("\n\n please enter the loan amount: "))
intRate = float(input("please enter the interest rate:")) #as decimal, not percentage.
numOy = int(input("please enter the number of years: "))
L = lamt
i = intRate
n = numOy
mortgageAmt = (i*L)/((1 + i)**n - 1) #formula for monthly mortgage payments
print(mortgageAmt)
except ValueError:
print ("please use a proper numbers.")