使用python计算特殊限制

Rya*_*yan 4 python math calculus python-3.x

我想计算这个表达式:

(1 + 1 / math.inf) ** math.inf,
Run Code Online (Sandbox Code Playgroud)

应计算为e。但是Python返回1。为什么呢?

=====更新========

我在这里要做的是从用户输入的APR(年度百分比)中得出有效的年利率。

def get_EAR(APR, conversion_times_per_year = 1):
    return (1 + APR / conversion_times) ** conversion_times - 1
Run Code Online (Sandbox Code Playgroud)

我希望此表达式也适用于连续复利。是的,我知道我可以编写if语句来区分正常情况下的连续复合(然后可以e直接使用常量),但是我最好选择一种集成方式。

eyl*_*esc 5

默认情况下,极限值的计算未在python中实现,为此您可以使用sympy

from sympy import *

x= symbols('x')
r = limit((1+1/x)**x, x, oo)
print(r)
Run Code Online (Sandbox Code Playgroud)

输出:

E
Run Code Online (Sandbox Code Playgroud)