数字类型的综合实践--第5关:计算投资收益

部署运行你感兴趣的模型镜像

任务描述
本关任务:编写一个能计算投资收益的程序。
某客户有本金 500000 元,有两个投资方案。 一是某银行大额存单,三年期的存款年利息是 每年4%, 该客户存款到期后将利息和本金再存入。 二是购买公寓出租,每月租金 1000 元,该客户每年年底将租金采取一年期定期存款的形式,年利率为 1.75% 计算30年中每三年该客户两种投资方案的投资收益。 

相关课件和视频

相关知识
为了完成本关任务,你需要掌握:for循环语句

for循环
for i in range(初值,终值,步长):
    <语句块>
i从初值变化到终值(不包含到终值),每次增加步长值,对于每个i值执行一次程序块
初值默认为0,步长值默认为1
例如,计算1到100的和s1

s1=0
for i in range (1,101):
  s1=s1+i
print(s1)

例如,计算1到100的偶数和s2

s=0
for i in range (2,101,2):
  s2=s2+i
print(s)

编程要求
根据提示,在右侧编辑器补充代码,计算投资收益。

测试说明
平台会对你编写的代码进行测试:

测试输入:
预期输出:
按如下格式显示30年的数据

提示:在format的格式符中可以使用整数指定表达式显示的宽度
print("{:3}次{:3}次{:3}次".format(1,10,100))
显示结果为  1次 10次100次
(1前面有2个空格10前面有1个空格)

梦想不会逃跑,会逃跑的只有自己。
开始你的任务吧,祝你成功!

答案

# 初始化变量
principal = 500000  # 本金
annual_interest_rate_cd = 0.04  # 大额存单年利率
monthly_rent = 1000  # 公寓每月租金
annual_interest_rate_rent = 0.0175  # 租金存款年利率
years = 30  # 总投资年数

# 大额存单投资收益计算
def calculate_cd_profit(principal, annual_interest_rate, years):
    total_profit = 0
    for _ in range(years // 3):  # 每三年计算一次
        profit = principal * annual_interest_rate * 3
        total_profit += profit
        principal += profit
    return total_profit

# 公寓投资收益计算
def calculate_apartment_profit(monthly_rent, annual_interest_rate_rent, years):
    total_profit = 0
    rent_savings = 0
    for year in range(1, years + 1):
        annual_rent = monthly_rent * 12
        rent_savings += annual_rent
        if year >= 3 and year % 3 == 0:  # 每三年计算一次收益
            total_profit += rent_savings * (1 + annual_interest_rate_rent) ** (year - 3)
            rent_savings = 0  # 重置租金储蓄
        else:
            rent_savings *= (1 + annual_interest_rate_rent)  # 未满三年的租金收益继续产生利息
    return total_profit

# 计算并输出结果
for i in range(1, years // 3 + 1):
    year = i * 3
    cd_profit = calculate_cd_profit(principal, annual_interest_rate_cd, year)
    apartment_profit = calculate_apartment_profit(monthly_rent, annual_interest_rate_rent, year)
    # 格式化输出,仅3、6、9等3的倍数年份在"第"和数字间保留空格
    if year in [3, 6, 9]:
        print(f"第 {year}年公寓方案{apartment_profit:10.2f}大额存单投资收益{cd_profit:10.2f}".replace(' ', '').replace('第', '第 '))
    else:
        print(f"第{year}年公寓方案{apartment_profit:10.2f}大额存单投资收益{cd_profit:10.2f}".replace(' ', ''))

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值