📑前言
本文主要是【Python】——Python存款买房问题的文章,如果有什么需要改进的地方还请大佬指出⛺️
🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见
存款买房
第一关:存款买房-A
import math
total_cost = float(input()) # '请输入总房价:'total_cost为当前房价
annual_salary = float(input()) # '请输入年薪:'
portion_saved = float(input()) / 100 # '请输入月存款比例:'月存款比例,输入30转为30%
# 根据首付款比例计算首付款金额和每个月需要存款数额
# 补充你的代码
# down_payment表示首付款占总房价的钱数
down_payment = total_cost *0.3
monthly_deposit = annual_salary * portion_saved /12
# monthly_deposit表示每个月可以还的钱
print(f'首付 {down_payment:.2f} 元', )
print(f'月存款 {monthly_deposit:.2f} 元')
# 计算多少个月才能存够首付款,结果为整数,不足1月按1个月计算,即向上取整
# 补充你的代码
# 用首付款/每个月还款钱数 即可得到你需要多少个月能攒够首付款
number_of_months=down_payment / monthly_deposit
print(f'需要{math.ceil(number_of_months)}个月可以存够首付')
第二关:存款买房-B
total_cost = float(input()) # total_cost为当前房价
annual_salary = float(input()) # 年薪
portion_saved = float(input()) / 100 # 月存款比例,输入30转为30%
semi_annual_raise = float(input()) /100 # 输入每半年加薪比例,输入7转化为7%
portion_down_payment = 0.3 # 首付比例,浮点数
# 补充你的代码,计算首付款
down_payment = total_cost * 0.3 #首付款为房价的30%
print(f'首付 {down_payment:.2f} 元')
current_savings = 0 # 存款金额,从0开始
number_of_months = 0
monthly_salary = annual_salary/12 # 月工资
monthly_deposit = monthly_salary * portion_saved # 月存款
# 计算多少个月才能存够首付款,结果为整数,不足1月按1个月计算,即向上取整
# 补充你的代码
while True:
current_savings = current_savings + monthly_deposit #存款金额及月存款数
number_of_months = number_of_months + 1 #月份一次循环+1
if current_savings >= down_payment: # 存够了买房去
break
if number_of_months % 6 == 0: #每过六个月涨一次工资,月存款也会增多
monthly_deposit = monthly_deposit * (1 + semi_annual_raise)
if number_of_months % 12 == 0:
print("第{}个月月末有{:,.0f}元存款".format(number_of_months, current_savings))
print(f'需要{number_of_months}个月可以存够首付')
第三关:存款买房-C
total_cost = float(input()) # total_cost为当前房价
annual_salary = float(input()) # 年薪
portion_saved = float(input()) / 100 # 月存款比例,输入30转为30%
semi_annual_raise = float(input()) /100 # 输入每半年加薪比例,输入7转化为7%
portion_down_payment = 0.3 # 首付比例,浮点数
down_payment = portion_down_payment * total_cost # 首付款
print(f'首付 {down_payment:.2f} 元')
current_savings = 0 # 存款金额,从0开始
number_of_months = 0
# 补充你的代码,计算月工资,计算月存款
monthly_deposit = annual_salary / 12 *portion_saved
a = monthly_deposit
while True:
number_of_months = number_of_months + 1
current_savings += 2.25 * 0.01 * current_savings / 12 #每一次会收到上一个月的存款利息
current_savings = current_savings + monthly_deposit
if number_of_months % 6 == 0: #每六个月涨一次工资
monthly_deposit = monthly_deposit * (1 + semi_annual_raise)
if number_of_months % 12 == 0:
print("第{}个月月末有{:,.0f}元存款".format(number_of_months, current_savings))
if current_savings >= down_payment:
break
# 补充你的代码,计算多少个月才能存够首付款,结果为整数,不足1月按1个月计算,即向上取整
print(f'需要{number_of_months}个月可以存够首付')