盘点一道Python基础实现代数运算的基础题目
共 1573字,需浏览 4分钟
· 2022-03-08
回复“书籍”即可获赠Python从入门到进阶共10本电子书
大家好,我是Python进阶者。
一、前言
前几天在Python星耀交流群有个叫【BuLLBuL】的粉丝问了一个关于Python实现代数函数的问题,这里拿出来给大家分享下,一起学习。
![](https://filescdn.proginn.com/2c5d13de5dd424729e899c8efa773642/8e60fe9d8cd81b45709a1390154b355c.webp)
题目看上去倒也不太难的样子,但是对初学者来说,还是有点压力的。
![](https://filescdn.proginn.com/012b1753e844c1e149924a91304ebd84/06b05f1be61bffc897fe4005183ac726.webp)
二、解决过程
这里给出【魏哥】和【🌑(这是月亮的背面)】大佬的解答,一共两个方法,一起来看看吧!
【魏哥】解答
其实这个题目的逻辑和思路也相对简单,下面是拆解。
![](https://filescdn.proginn.com/4fbc38500c843425e99dea66efe4ef77/2d62cbb5d8d97e25afd34bc3a3167409.webp)
Python中的幂运算格式是:x ** 2,其中x代表的是变量,2代表的是幂,有了这个,就可以正常写代码,定义变量和函数了。下面是【魏哥】给的代码,如下所示:
def calc(x, y):
fenzi1 = x ** 2 + y ** 2
fenmu1 = x ** 2 - y ** 2
fenzi2 = x ** 3 - y ** 3
fenmu2 = x ** 3 + y ** 3
result = fenzi1 / fenmu1 + fenzi2 / fenmu2
return result
if __name__ == '__main__':
print(calc(7, 12))
输出结果是-2.700338000965717。这个方法还是蛮好理解的,完全是教科书级别的,比较好理解。
【月神】解答
这里运用了第三方库sympy,代码如下:
from sympy import symbols
x, y = symbols('x,y') # 定义x, y变量
# 定义代数式
f = ((x ** 2 + y ** 2) / (x ** 2 - y ** 2)) + ((x ** 3 - y ** 3) / (x ** 3 + y ** 3))
# 将x与y替换成对应实数,计算代数式
f.subs({x: 7, y: 12})
写出来也十分的好看,如下图所示:而且代数式都清晰可见,很形象:
其中
f.subs()
这个有点难理解,不过不慌,有解析:
![](https://filescdn.proginn.com/0822f201a0f131591091720eb42453b8/b3462fc2244205dc62dad562cfac0e5a.webp)
关于参数,字典和元组都支持的。
![](https://filescdn.proginn.com/1d3c7ca7cc09244bcd8c71ffcdf874db/989c9def0cb823d3bcabb34eaa8c9e6b.webp)
三、总结
大家好,我是Python进阶者。这篇文章基于粉丝提问,针对Python实现代数函数的问题,给出了具体说明和演示,顺利地帮助粉丝解决了问题。
总的来说,群里给出了两个方法,一个传统方法,一个结合第三方库实现,各有千秋。我相信肯定还有其他方法的,如果你还有其他方法,欢迎私信交流。
最后感谢粉丝【BuLLBuL】提问,感谢【月神】和【魏哥】大佬给出的示例和代码支持,感谢粉丝【黑脸怪】、【dcpeng】、【东哥】、【艾希·觉罗】、【冫马讠成】等人参与学习交流。
![](https://filescdn.proginn.com/3aa4c907025d1fa7a89d1d22f053bd5b/f5af3bea5010b5218797de83dea98ccd.webp)
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
![](https://filescdn.proginn.com/2ebe9eb765037b5ad27a2f7662ba4ce4/8d366a77dae1ff618fbeac30d0b88c97.webp)
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~