使用Python计算每月复利

使用Python计算每月复利,python,Python,我用1000美元作为我的原始本金,作为一个例子,应该得到期望的1051.22美元的期末本金 然而,我离这个数字还差得远。 我猜我在计算中遗漏了一个括号。 如果我没有正确格式化此代码,我提前表示歉意,这是我第二次使用堆栈溢出,仍在学习。这是已修复的代码。整数需要以十进制计算 # This program takes the original principal, # calculates the annual interest rate # calculates the number of ti

我用1000美元作为我的原始本金,作为一个例子,应该得到期望的1051.22美元的期末本金

然而,我离这个数字还差得远。 我猜我在计算中遗漏了一个括号。
如果我没有正确格式化此代码,我提前表示歉意,这是我第二次使用堆栈溢出,仍在学习。

这是已修复的代码。整数需要以十进制计算

# This program takes the original principal,
# calculates the annual interest rate 
# calculates the number of times the interest is compounded
# calculates how many years the account will earn interest
# and lastly displays the ending principal


# Input the original principal.

original_principal = int(input( 'Enter the starting principal: ' ))

# Input the annual interest rate.

annual_interest = float(input( 'Enter the annual interest rate: ' ))

# Input times per year the interest is compounded.

compound = int(input( 'How many times per year is the interest compounded? ' ))

# Input number of years account will earn interest.

total_years = int(input( 'For how many years will the account earn interest? ' ))

# Calculate ending principle amount after earning annual
# interest for a specified amount of years.

ending_principal = original_principal * (1 + annual_interest / compound) ** \
               (compound * annual_interest)

#Display the ending principle amount.

print ( 'At the end of 2 years you will have $' , \
    format(ending_principal, ',.2f'))

可能在这里:期末本金=原始本金*1+年利息/复合**复合*年利息直到得出相同的数字你尝试实施FV=PV*1+i**n复利公式的情况很少见?你的公式中没有使用总年数,所以基本上你的公式是错误的。你的公式也不正确。应为原始本金*1+年利息/复合**总年*复合
# This program takes the original principal,
# calculates the annual interest rate
# calculates the number of times the interest is compounded
# calculates how many years the account will earn interest
# and lastly displays the ending principal


# Input the original principal.

original_principal = int(input('Enter the starting principal: '))

# Input the annual interest rate.

annual_interest = float(input('Enter the annual interest rate (%): '))
annual_interest = annual_interest / 100

# Input times per year the interest is compounded.

compound = int(input('How many times per year is the interest compounded? '))

# Input number of years account will earn interest.

total_years = int(input('For how many years will the account earn interest? '))

# Calculate ending principle amount after earning annual
# interest for a specified amount of years.

ending_principal = (original_principal * (1 + annual_interest
                                      / compound) ** (compound * total_years)
                    )

# Display the ending principle amount.

print('At the end of ', total_years, 'years you will have $',
      format(ending_principal, '.2f'))