Python CD年度百分比

时间:2015-07-27 18:18:15

标签: python

我正在做这个任务。当我输入月份时,它是一个月打印一次。相反,它是5个月或17个月,它的总印数仅为1个月。

https://drive.google.com/file/d/0B_K2RFTege5uZ2M5cWFuaGVvMzA/view?usp=sharing

这是我到目前为止我在寻找什么感谢你

calc = input('Enter y or n to calculate your CDs worth?')
month= int(input('Select your number of months'))
while calc == 'y':
    while month > 0:
        amount = int(input('Please enter the amount:'))
        percent= float(input('Please enter the annual percentage:'))
        calc= amount + amount* percent/ 1200
        print(calc)

1 个答案:

答案 0 :(得分:0)

由于您正在进行一定量的操作,因此您希望在此意义上使用for循环而不是while。您还重复使用calc并将calc从String分配到float,这通常是一个坏主意。主要问题是公式建立在先前计算的数字的基础上,它从输入的初始金额10000 + 10000 * 5.75 / 1200 = 10047.91开始,然后在下一次计算中使用10047.91,而不是10000,你永远不会重复使用先前计算的数字,所以你没有得到正确的答案。这应该这样做:

calc = input('Enter y or n to calculate your CDs worth?')
if calc == 'y':
    month = int(input('Select your number of months'))
    amount = int(input('Please enter the amount:'))
    percent = float(input('Please enter the annual percentage:'))
    for i in range(month):
        if i == 0:
            calcAmount = amount + ((amount * percent) / 1200)
        else:
            calcAmount = calcAmount + ((calcAmount * percent) / 1200)
        print calcAmount