如何利用python计算乘方开方?如何计算n次方开n次方?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
python
作为科学计算数据处理方面的当仁不让的一把手,这里讨论一下如何利用python
做数据的乘方和开方的问题。涉及的就是简单的乘方开方数学计算。
大家好,这里是苏南大叔的程序如此灵动博客,记录苏南大叔的代码所学所想。本文测试环境:win10
,python@3.11.0
。涉及到的python
函数是:pow()
,以及原来就已经写文章总结过的**
写法。
乘方
二次方比较常见,如果是三次方的话,可以使用双星号。
# import math
s = 3
# 二次方
print(s * s) # 9
print(s**2) # 9
print(pow(s,2)) # 9
import numpy as np
print(np.square(s)) # 9
# 三次方
print(s * s * s) # 27
print(s**3) # 27
print(pow(s,3)) # 27
注意:没引入math
。
开方
开平方比较常见,也可以开三次方。
import math
s = 27
# 开二次方
print(s**0.5) # 5.196152422706632
print(math.sqrt(s)) # 5.196152422706632
print(pow(s, 1 / 2)) # 5.196152422706632
import numpy as np
print(np.sqrt(s)) # 5.196152422706632
# 开三次方
print(s ** (1 / 3)) # 3.0
print(pow(s, 1 / 3)) # 3.0
方法分析
通过上面的例子,可以看到:在python
中,开方乘方都可以使用pow()
函数,也都可以使用**
操作符。
操作 | 特有 | 双星号 | pow() | numpy |
---|---|---|---|---|
二次方 | s*s | s**2 | pow(s,2) | np.square(s) |
开二次方 | math.sqrt(s) | s**(1/2) | pow(s,1/2) | np.sqrt(s) |
三次方 | s*s*s | s**3 | pow(s,3) | 暂无 |
开三次方 | 暂无 | s**(1/3) | pow(s,1/3) | 暂无 |
一个数的平方,就是一个数的二次幂。一个数的开方,就是一个数的二分之一次幂。
传三个参数的pow()
【谜之存在】
在网上的教程里面,还有传递三个参数的pow()
函数例子,但是:
问题一:
- 网传效果是 参数一 取 参数二 次幂后,整体再取 参数三 次幂。
- 在苏南大叔的测试中,真实的效果是:参数一 取 参数二 次幂后,整体除以 参数三 取余。(有啥意义么?)
问题二:
经过苏南大叔的反复尝试,发现:python
里面居然同时存在着两个pow()
函数!功能类似,但是参数个数设定不一致!下面的是参考代码:
print(pow(1, 2, 3)) # 这个执行了,得到了结果1
import math
print(math.pow(1, 2, 3)) # 这个报错了,提示没有第三个参数位置
执行结果是:
1
Traceback (most recent call last):
File "C:\Users\sunan\Desktop\py\t.py", line 3, in <module>
print(math.pow(2, 3, 4))
^^^^^^^^^^^^^^^^^
TypeError: pow expected 2 arguments, got 3
相关文章
- https://newsn.net/say/python-star.html
- https://newsn.net/say/python-star-2.html
- https://newsn.net/say/python-star-star.html
- https://newsn.net/say/python-star-star-dict.html
结束语
可以看到,一个pow()
和**
运算符,都是属于一专多能型的,本文对这个双星号运算符又多了新的认识。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。