当前位置:首页>python>Python编程小技巧--‌不等式求解

Python编程小技巧--‌不等式求解

  • 2026-10-21 13:28:46
Python编程小技巧--‌不等式求解
Python的强大远超我们想象,比如,我们可以用它来求解不等式,告别手算时代
核心是 利用SymPy 库(Symbolic Python),它支持符号计算,能求出不等式的精确解集(如区间、并集等)。
先看一个简单的解x^2 - 4 > 0的例子,可以看到输出形式已经属于非常的“数学友好”了。
from sympy import symbols, solve_univariate_inequalityx = symbols('x')ineq = x**2 - 4 > 0solution = solve_univariate_inequality(ineq, x)print("解集:", solution)# 输出: ((-oo < x) & (x < -2)) | ((2 < x) & (x < oo))
接着是求解(x - 1) / (x + 2) <= 0,可以看到输出结果准确考虑到了分母不能为0的情况。
from sympy import symbols, solve_univariate_inequalityx = symbols('x')ineq = (x - 1) / (x + 2) <= 0solution = solve_univariate_inequality(ineq, x)print("解集:", solution)# 输出: (x <= 1) & (-2 < x)
|x - 2| + |x + 1| < 5这样带绝对值的也没问题
from sympy import symbols, Abs, solve_univariate_inequalityx = symbols('x')ineq = Abs(x - 2) + Abs(x + 1) < 5solution = solve_univariate_inequality(ineq, x)print("解集:", solution)# 输出: (-2 < x) & (x < 3)
sqrt(x + 3) > x - 1带根号的依然轻松拿下,并且完全考虑到了根号内必须非负的约束
from sympy import symbols, sqrt, solve_univariate_inequalityx = symbols('x', real=True)  # 声明 x 为实数ineq = sqrt(x + 3) > x - 1solution = solve_univariate_inequality(ineq, x)print("解集:", solution)# 输出: (-3 <= x) & (x < 3)

推荐合集

推荐文章

最新文章

随机文章