8 python cpython rational-numbers intervals infinity
Python中是否有合理区间运算的实现? 这使用浮点数,而不是有理数.
如果没有,Python中是否有任何包含±∞的有理实施?
Sympy有间隔,有理数和无穷大.Interval类是Set类的子类.
# oo is the symbol for infinity
from sympy import Interval, oo, Rational
i1 = Interval(10, 15)
i2 = Interval(0, oo)
i3 = Interval(-5, -1)
# adding intervals
i4 = i1 + i3
i5 = i1 + i2
# interval with open end
i6 = Interval(Rational(1, 2), Rational(45, 3), left_open=True)
print 11 in i1 # True
print -1 in i1 # False
print 0 in i4 # False
print Rational(3, 2) in i6 # True
print oo in i2 # False
print i2.sup # oo (infinity)
print Rational(1, 2) in i6 # False
print i6.inf # 1/2
Run Code Online (Sandbox Code Playgroud)