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,但不知道为什么。
这是问题说明,我是一名正在尝试开放式课程的高中学生。
- 调用你梦想的家的成本total_cost .
- 将首付款所需的费用部分命名为portion_down_payment。为简单起见,假设portion_down_payment = 0.25(25%)。
- 调用到目前为止您已经节省的金额current_savings。你从活期存款0美元开始。
- 假设你明智地投资你的活期储蓄,年回报率为r(换句话说,在每个月的月底,你会收到额外的current_savings*r/12的资金来存入你的储蓄——12是因为r是年利率)。假设你的投资收益为r = 0.04(4%)。
- 假设你的年薪是annual_salary。
- 假设你每个月要从工资中拿出一定数额的钱存起来付首付款。将其命名为portion_saved。该变量应采用十进制形式(即0.1表示10%)。
- 在每个月的月底,你的储蓄将增加你的投资回报,加上你月薪的一个百分比(年薪/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 == 0
和portion_down_payment == 0
更一般地说,当你的代码没有像预期的那样工作时,你应该放入print()
或assert
语句来缩小你的代码偏离预期的地方。例如,在if
语句之前,您可以让它打印正在比较的两个值。