sympy是一个解方程的库,可以解多元和多次方程,先解一个一元二次方程熟悉一下流程:
import sympy
x = sympy.Symbol('x')# 定义未知数
equation = x**2 - 6*x + 9# 定义方程,式子的值要为0
s = sympy.solve(equation)#解方程
# 打印结果
print(f'方程的解为{s}')
运行结果为:
方程的解为[3]
下面解一个二元方程,并用不列方程的方式验证一下。
一个笼子里有兔和鸡共20只,它们的脚的数量之和为60只,问兔和鸡各多少只?首先,用方程解:
import sympy
x,y=sympy.symbols("x, y")#设两个未知数,x代表兔的数量,y代表鸡的数量
eq1=x*4+y*2-60#式子的结果要为0,即可脚数-60为0
eq2=x+y-20#只数-20为0
s = sympy.solve([eq1, eq2], [x, y])#开始解方程,返回字典类型。
print(f"兔的数量为{s[x]},鸡的数量为{s[y]}")
运行结果为:
兔的数量为10,鸡的数量为10
下面用循环的方式枚举解:
t=j=0#兔和鸡的初始数量均为0,下面用循环“暴力破解”答案
for t in range(0,21):#兔的数量从0试到20
for j in range(0,21-t):#在兔数量确定的情况下,将鸡的数量从0试到(20-兔的数量)
if t*4+j*2==60 and t+j==20:#如符合条件,则输出答案
print(f"兔的数量为{t},鸡的数量为{j}")
运行结果为:
兔的数量为10,鸡的数量为10
看来用sympy解方程还是可以的。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/75066
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!