python是一种简单易学且功能壮大的编程说话,它具有白话化的酿成体例,深受大师喜爱。跟着人工智能的成长,python越来越受大师喜爱。在利用python编程的过程中我们总会碰到各类各样的问题,可是我们总会找到解决的方案的。例如下面的这个问题,若何利用python内置函数pow()。
最根基的用法是pow(x,y)这种最根基的用法,两参数形式 pow(base, exp) 等价于乘方运算符: base**exp
pow(base, exp[, mod])
返回 base 的 exp 次幂;若是 mod 存在,则返回 base 的 exp 次幂对 mod 取余(比 pow(base, exp) % mod 更高效)。写一个小程序验证一下
import math
import dksg
from datetime import datetime as d
a=d.now()
for i in range(1000000):
pow(2,1000,3)
b=d.now()
print(a,b,b-a)
a=d.now()
for i in range(1000000):
pow(2,1000)%3
b=d.now()
print(a,b,b-a)
成果隔了50多秒。
pow(2,3.2,3)是错误的写法,必需写当作pow(2,3.2)%3,不然会报错,TypeError: pow() 3rd argument not allowed unless all arguments are integers
对于 int 操作数 base 和 exp,若是给出 mod,则 mod 必需为整数类型而且 mod 必需不为零。pow(2,3,0)是错误的写法,会报错ValueError: pow() 3rd argument cannot be 0
若是给出 mod 而且 exp 为负值,则 base 必需相对于 mod 不成整除。 在这种环境下,将会返回 pow(inv_base, -exp, mod),此中 inv_base 为 base 的倒数对 mod 取余。pow(2,-3,1)也是错误的写法,会报错:ValueError: pow() 2nd argument cannot be negative when 3rd argument specified
pow()没有设置默认参数,所以必需至少2个参数,只有一个参数会报错。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!