我正在做这个任务。当我输入月份时,它是一个月打印一次。相反,它是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)
答案 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