Python标准库math中用来求幂运算的函数是pow(x,y)
创新互联公司于2013年创立,是专业互联网技术服务公司,拥有项目成都网站建设、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元大洼做网站,已为上家服务,为大洼各地企业和个人服务,联系电话:028-86922220
pow(x,y)函数和x**y是等效的,都是计算x的y次方
用法:
import math
print(math.pow(4,2))
python中,想要表示a的b次方时,有两种方法:
1,math.pow()这个内置函数
2,**运算符
这两种方法效果是一样的,但是当
b为分数,a为负数:当幂运算符的底数为负数、幂为分数时,Python会抛出ValueError: negative number cannot be raised to a fractional power异常,
这时有两种方法可以解决此问题:
1,底数a正负均可不影响你的算法的话,加一个绝对值就行了即abs(a);
2,如果底数a必须是正、或必须是负的话,需要采用复数进行运算。因此凡是遇到幂为分数的项,都将底数用complex()转换为复数。
推荐学习《python教程》。
# -*- coding:utf-8 -*-
import math
'''
自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数
'''
n=int(input("请输入自幂数位数:\n"))
if n==1:
print "独身数:"
print "0\t"
elif n==2:
print "两位自幂数:"
print "没有自幂数!"
elif n==3:
print "水仙花数:"
elif n==4:
print "玫瑰花数:"
elif n==5:
print "五角星数:"
elif n==6:
print "六合数:"
elif n==7:
print "北斗七星数:"
elif n==8:
print "八仙数:"
elif n==9:
print "九九重阳数:"
elif n==10:
print "十全十美数:"
else:
print "其它自幂数:"
#定义一数字,从10^(n-1)开始自加,到10^n结束
for i in range(int(math.pow(10,n-1)),int(math.pow(10,n))):
num = 0
for j in str(i):
num += int(math.pow(int(j), n))
if i == num:
print i
运行结果:
请输入您所要查的自幂数位数:
3
水仙花数:
153
370
371
407