【Python123】 存款买房(B)
类型:流程控制
目录
题目描述
答案:
题目描述
你刚刚大学毕业,在北京找到了一份很好的工作,决定开始存钱买房。由于北京的房价很高,你要攒几年钱才能付得起房子的首付。
现根据以下假定来计算你需要多长时间才能攒够首付款:
1.将你想购买的房子的总价称为total_cost。
2.将首付款占总房价的比例称为portion_down_payment。为简单起见,假设portion_down_payment = 0.30(30%)。
3.将存款金额称为current_savings。你的存款从0元开始。
4.假设你的年薪是annual_salary,按12个月平均发放,单位是元。
5.假设你每个月都要拿出一定百分比的工资来存首付。称为portion_saved,此值为一个表示百分比的整数,例如50表示50%。
6.假定你每6个月加一次工资,每半年加薪比例semi_annual_raise是一个表示百分比的整数,例如7表示7%,即第7个月的月初涨一次工资,工资涨幅为7%,以后每过6个月再涨一次工资。
写一个程序来计算你需要多少个月才能攒够钱付定金,不足一个月按一个月计算。
要求使用下面的输入输出代码,填充完整并通过测试用例。
total_cost = float(input()) # total_cost为当前房价
annual_salary = float(input()) # 年薪
portion_saved = float(input()) / 100 # 月存款比例,输入30转为0.30(即30%)
semi_annual_raise = float(input()) /100 # 输入每半年加薪比例,输入7转化为0.07(即7%)portion_down_payment = 0.3 # 首付比例,浮点数# 根据首付款比例计算首付款down_payment
#=======================================================
# 补充你的代码
#=======================================================
print('首付',down_payment)current_savings = 0 # 存款金额,从0开始
number_of_months = 0
monthly_salary = annual_salary/12 #月工资
monthly_deposit = monthly_salary * portion_saved # 月存款# 计算多少个月才能存够首付款,结果为整数,不足1月按1个月计算,即向上取整
#每6个月涨一次工资,每年输出年底的存款总额
#=======================================================
# 补充你的代码if number_of_months % 12 == 0:print("第{}个月月末有{:,.0f}元存款".format(number_of_months, current_savings)) #每12个月输出一次存款,保留0位小数,使用千分符
#=======================================================
print(f'需要{number_of_months}个月可以存够首付')
输入格式:
输入为四行,每行一个浮点数,分别表示房价、年薪、月存储工资百分数、半年工资涨幅百分数。
输出格式:
输出为若干行,第一行为首付款,最后一行为存够首付的月数n,中间行是每年年底已存工资款总数(取整)。具体格式见示例。
示例 1
输入:
5000000
240000
70
8输出:
首付 1500000.0
第12个月月末有174,720元存款
第24个月月末有378,513元存款
第36个月月末有616,218元存款
第48个月月末有893,477元存款
第60个月月末有1,216,871元存款
需要70个月可以存够首付
答案:
total_cost = float(input()) # total_cost为当前房价
annual_salary = float(input()) # 年薪
portion_saved = float(input()) / 100
# 月存款比例,输入30转为0.30(即30%)
semi_annual_raise = float(input()) / 100
# 输入每半年加薪比例,输入7转化为0.07(即7%)
portion_down_payment = 0.3# 首付比例,浮点数# 根据首付款比例计算首付款down_payment
# =======================================================
def down_payment():down_payment = total_cost * portion_down_paymentreturn down_payment# =======================================================
down_payment = down_payment()
print('首付', down_payment)current_savings = 0
# 存款金额,从0开始
number_of_months = 1monthly_salary = annual_salary / 12
# 月工资
monthly_deposit = monthly_salary * portion_saved # 月存款# 总共缴纳房款# 计算多少个月才能存够首付款,结果为整数,不足1月按1个月计算,即向上取整
# 每6个月涨一次工资,每年输出年底的存款总额
# =======================================================
def print_current(number_of_months, monthly_salary, semi_annual_raise, monthly_deposit ):enough = Truecurrent_saving = 0while enough:current_saving = current_saving + monthly_deposit # 发工资了,先给自己存一笔if current_saving >= down_payment: # 存够了买房去print(f'需要{number_of_months}个月可以存够首付')enough = Falsereturnif number_of_months % 12 == 0:print("第{}个月月末有{:,.0f}元存款".format(number_of_months, current_saving)) # 每12个月输出一次存款,保留0位小数,使用千分符if number_of_months % 6 == 0:monthly_deposit = monthly_deposit * (1 + semi_annual_raise) # 六月之期已到,加薪number_of_months = number_of_months + 1# =======================================================
print_current(number_of_months, monthly_salary, semi_annual_raise, monthly_deposit)
说明:此题目来自【Python123】,答案为自己创作,不产生任何商业利益,如有侵权,请联系删除。Python123 - 编程更简单Python123 是面向新工科教学需求的计算机类基础课程教学辅助平台。支持全国计算机二级 python 考试自学与备考,还向合作教师与高校提供精品教学资源、全系列课程内容、全流程教学工具,支撑课程教学管理、练习、考试、教学研究等实际需求,为国家级、省部级一流课程提供教学研究数据支撑。https://python123.io/
【Python123】 存款买房(B)相关推荐
- python存款买房
任务描述 本关任务:编写一个计算存款买房的小程序. 相关知识 存款买房问题描述 你刚刚大学毕业,在北京找到了一份很好的工作,决定开始存钱买房.由于北京的房价很高,你要攒几年钱才能付得起房子的首付. 现 ...
- 存款买房python
from decimal import Decimal import math total_cost = float(input()) # total_cost为当前房价 annual_salary ...
- 阿德:工作与发财之间的秘密
最近很多同学对于就业与赚钱都有有一定的压力,特别是30岁以后的同学,其实这种焦虑我很早之前就经历过并且思考过. 今年行业比较寒冷,我一直比较低调,看到大家的这种焦虑我觉得可以分享一下我的经验,希望对大 ...
- 知识付费时代通过购买网课能缓解焦虑吗
不同时代的人都有不同的焦虑,在90年代以前,大多数人焦虑的是能不能分配到工作:在90年代后期,大多数人焦虑的是要不要外出打工或者投机做点小生意:在2000年以后,大多数人焦虑怎么能找份好的工作,然后存 ...
- 寻找技术合伙人的那些坑
对于非技术出身的创业者,往往有一种幻觉,比如:我们创业就差一个CTO了,再或者,就差一个程序员了.如果你是那个CTO或程序员,你会去吗?如果一开始就给你很丰厚的报酬呢?我的建议是:最好别去,因为不多久 ...
- 我建议,专家不要再建议了
作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 关于买房,专家建议:不建议掏空六个钱包凑首付. (网友:丈母娘等不到我自己挣够) 关于农村剩男多,城市 ...
- 手头有65万存款,想在广州买房,买南沙好还是黄埔好?
十年前,广州房价正飙升的时候,那时我正好参加工作,月薪3000,感觉房价飙升对我而言,跟我一点关系都没有. 我.老林和老孔三个人. 我想这房价这么高,完全跟工资不匹配,那时我的观点是,房子不就是一个钢 ...
- 28岁程序员存款390万,问:有必要在北京买房吗?
要说如今什么事情最让年轻人烦心,或许便是时下的房价了. 一转眼,最早一批90后也都在奔三道路上一去不复返,买房.结婚.生子这三件人生头等大事也成了大家最关心的话题. 房子本身被赋予了太多的价值,&qu ...
- 程序员毕业4年想在北京买房被网友嘲讽,晒出存款,网友:很励志
在北京买房,对于大多数人来说是不现实的,想要在北京买房,即使是偏远的6环外,至少也要准备150万的首付吧,想要攒够这么多钱,怎么也得工作十年八年,而且还要是那种特别优秀的员工才可以. 在我们程序员职场 ...
最新文章
- AI一分钟 | 华为余承东携Mate 10高调亮相CES,不惧美国运营商放鸽子;日本推“手掌支付”服务,竟靠手相和手掌静脉识别
- Eclipse 运行程序
- 【TensorFlow】笔记3:MNIST数字识别问题
- linux 线程优先级的高低和执行顺序的关系,混乱的Linux内核实时线程优先级
- 网络编程中的超时检测
- 数据结构之二叉树:二叉查找树的先序、中序、后序、层序遍历,Python代码实现——10(续)
- 用FPGA实现视频中物体边缘二值化
- Anaconda——复制Conda的虚拟环境
- 在CentOS 7中安装PHP5和PHP7需要的插件
- linux下查找文件、排序、查看文件内容
- Selenium 安装firebug和firepath
- 微信小程序图片无法显示时显示默认图片
- Spring学习(五):动态代理的两种实现方式(全网最容易懂)
- word回车后间距太大_word换行间距调整 word换行后间距变大
- InsecureProgramming-master——abo4
- python编写beta计算器_|python编写计算器
- 经典计算机书籍-自制系列
- 开学季,中学生用什么样护眼台灯好?中学生用护眼台灯排行
- 多径效应及其消除方法
- link js重构心得
热门文章
- Python(py3fdfs)上传到fastdfs配置store_serv.ip_addr问题
- 系统更新荣耀play服务器,华为宣布:荣耀Play推送EMUI 9.1正式版更新!
- 二进制(Binary)——八进制(Octal)
- 财务软件做账的基本流程
- 戴尔 PowerEdge 14G 加速分布式存储解决方案 zData 提升性能
- hadoop组件---数据仓库(四)---hive常用命令
- 二、Qt定时器与文本编辑器制作《QT 入门到实战》
- MySQL学习笔记(3)--(DQL查询、MySQL函数)
- javascript将HTML页面导出为pdf
- 马克维茨模型matlab求解,马克维茨投资组合模型的matlab计算