python - 如何在python中计算到期投资的增长收益率
问题描述
我正在尝试计算到期投资的增长收益率。我的数据如下:
我的代码如下
a = input('principal amount\n')
principal=float(s)
a = input('prime rate\n')
prime=float(s)
a = input('number of years\n')
numberofyears=float(a)
if numberofyears <= 2:
if principal <= 100000:
growth = principal*prime
print(growth)
elif principal > 100000:
growth = principal * (prime + (1.25 * prime))
print(growth)
elif numberofyears <= 4:
if principal <= 100000:
growth = principal*(1.15*prime)
print(growth)
elif principal > 100000:
growth = principal * ((1.15*prime) + (1.5 * prime))
print(growth)
elif numberofyears > 4:
if principal <= 100000:
growth = principal*(1.25*prime)
print(growth)
elif principal > 100000:
growth = principal * ((1.25*prime) + (2 * prime))
print(growth)
我的代码有什么问题?因为当我放示例数据输出时没有提到。
例如:
我得到的输出是 33125.0
解决方案
您的代码中有 2 个错误。首先,您的本金和您的素数被分配给 s 的浮点数,这不是输入。那么你的方程不会对 <=10e6 和 >10e6 应用不同的速率。
这是一种方法:
principal=float(input('principal amount\n'))
prime=float(input('prime rate\n') )
numberofyears=float(input('number of years\n') )
if numberofyears <= 2:
if principal <= 100000:
growth = principal*prime
print(growth)
elif principal > 100000:
growth = 1000000* (prime) + (principal-100000)*(1.25*prime)
print(growth)
elif numberofyears <= 4:
if principal <= 100000:
growth = principal*(1.15*prime)
print(growth)
elif principal > 100000:
growth = 1000000*(1.15*prime) + (principal-100000)*(1.5*prime)
print(growth)
elif numberofyears > 4:
if principal <= 100000:
growth = principal*(1.25*prime)
print(growth)
elif principal > 100000:
growth = 1000000*(1.25*prime) + (principal-100000)*(2*prime)
print(growth)
推荐阅读
- flutter - 如何处理不同分辨率类型的字体大小
- python-3.x - 从奇数字典中填充熊猫数据框
- xml - 使用 Hive XML SerDe 将 XML 解析为多个表
- typescript - 打字稿:在构造函数内的函数中分配只读属性
- c# - 如何使用 Mediatr 和 Moq 在命令中设置变量?
- java - 使用正确的ExecutorService异步执行任务
- python - Python 从文件中读取浮点数并将其附加到每一行的末尾
- python-2.7 - 是否可以在我的机器上使用 tensorflow-transform 并行化预处理?
- angular7 - 在 HTTP 客户端中使用标头
- c++ - 在 C++ 中为应用程序优化使用而打开的并行套接字/TCP 连接数