Python標(biāo)準(zhǔn)庫math中用來求冪運(yùn)算的函數(shù)是pow(x,y)
創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元大洼做網(wǎng)站,已為上家服務(wù),為大洼各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
pow(x,y)函數(shù)和x**y是等效的,都是計(jì)算x的y次方
用法:
import math
print(math.pow(4,2))
python中,想要表示a的b次方時(shí),有兩種方法:
1,math.pow()這個(gè)內(nèi)置函數(shù)
2,**運(yùn)算符
這兩種方法效果是一樣的,但是當(dāng)
b為分?jǐn)?shù),a為負(fù)數(shù):當(dāng)冪運(yùn)算符的底數(shù)為負(fù)數(shù)、冪為分?jǐn)?shù)時(shí),Python會(huì)拋出ValueError: negative number cannot be raised to a fractional power異常,
這時(shí)有兩種方法可以解決此問題:
1,底數(shù)a正負(fù)均可不影響你的算法的話,加一個(gè)絕對(duì)值就行了即abs(a);
2,如果底數(shù)a必須是正、或必須是負(fù)的話,需要采用復(fù)數(shù)進(jìn)行運(yùn)算。因此凡是遇到冪為分?jǐn)?shù)的項(xiàng),都將底數(shù)用complex()轉(zhuǎn)換為復(fù)數(shù)。
推薦學(xué)習(xí)《python教程》。
#?-*-?coding:utf-8?-*-
import?math
'''
自冪數(shù)是指一個(gè)?n?位數(shù),它的每個(gè)位上的數(shù)字的?n?次冪之和等于它本身。
如:當(dāng)n為3時(shí),有1^3?+?5^3?+?3^3?=?153,153即是n為3時(shí)的一個(gè)自冪數(shù)
'''
n=int(input("請(qǐng)輸入自冪數(shù)位數(shù):\n"))?
if?n==1:
print?"獨(dú)身數(shù):"
print?"0\t"
elif?n==2:
print?"兩位自冪數(shù):"
print?"沒有自冪數(shù)!"
elif?n==3:
print?"水仙花數(shù):"
elif?n==4:
print?"玫瑰花數(shù):"
elif?n==5:
print?"五角星數(shù):"
elif?n==6:
print?"六合數(shù):"
elif?n==7:
print?"北斗七星數(shù):"
elif?n==8:
print?"八仙數(shù):"
elif?n==9:
print?"九九重陽數(shù):"
elif?n==10:
print?"十全十美數(shù):"
else:
print?"其它自冪數(shù):"
#定義一數(shù)字,從10^(n-1)開始自加,到10^n結(jié)束
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
運(yùn)行結(jié)果:
請(qǐng)輸入您所要查的自冪數(shù)位數(shù):
3
水仙花數(shù):
153
370
371
407
新聞標(biāo)題:python定義求冪函數(shù) python中冪函數(shù)寫法
本文鏈接:http://muchs.cn/article14/doshjge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、全網(wǎng)營銷推廣、網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)、品牌網(wǎng)站制作、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)