不确定为什么输出为0.试着计算几个月来付首付款


print("Please enter you starting annual salary: ")
annual_salary = float(input())
monthly_salary = annual_salary/12

print("Please enter your portion of salary to be saved:  ")
portion_saved = float(input())
print ("Please enter the cost of your dream home:  ")
total_cost = float(input())
current_savings = 0
r = 0.04/12
n = 0
portion_down_payment = total_cost*int(.25)
if current_savings < portion_down_payment:
monthly_savings = monthly_salary*portion_saved  
interest = monthly_savings*r
current_savings = current_savings + monthly_savings + interest
n =+ 1
else: 
print(n)
以上是我的代码。我一直得到输出= 0,但不知道为什么。

这是问题说明,我是一名正在尝试开放式课程的高中学生。

  1. 调用你梦想的家的成本total_cost .
  2. 将首付款所需的费用部分命名为portion_down_payment。为简单起见,假设portion_down_payment = 0.25(25%)。
  3. 调用到目前为止您已经节省的金额current_savings。你从活期存款0美元开始。
  4. 假设你明智地投资你的活期储蓄,年回报率为r(换句话说,在每个月的月底,你会收到额外的current_savings*r/12的资金来存入你的储蓄——12是因为r是年利率)。假设你的投资收益为r = 0.04(4%)。
  5. 假设你的年薪是annual_salary。
  6. 假设你每个月要从工资中拿出一定数额的钱存起来付首付款。将其命名为portion_saved。该变量应采用十进制形式(即0.1表示10%)。
  7. 在每个月的月底,你的储蓄将增加你的投资回报,加上你月薪的一个百分比(年薪/12)。写一个程序来计算你需要多少个月才能攒够首付款。您将希望您的主变量是浮点数,因此您应该将用户输入转换为浮点数。你的程序应该要求用户输入以下变量:

起始年薪(annual_salary)要节省的工资部分(portion_saved)你梦想家的成本(total_cost)

测试案例1

输入你的年薪:120000输入你要存起来的薪水的百分比,用十进制表示:。10输入你梦想中的房子的成本:1000000月数:183

你有n =+ 1,但我想你指的是n += 1

同样int(.25)计算为0,我认为你想要int(total_cost*.25)。在您的代码中,if语句总是求值为False,因为current_savings == 0portion_down_payment == 0

更一般地说,当你的代码没有像预期的那样工作时,你应该放入print()assert语句来缩小你的代码偏离预期的地方。例如,在if语句之前,您可以让它打印正在比较的两个值。

相关内容

  • 没有找到相关文章

最新更新