下面是 Python 中一個(gè)函數(shù)的示例,該函數(shù)計(jì)算給定數(shù)字的階乘并返回結(jié)果:n
創(chuàng)新互聯(lián)長(zhǎng)期為上千多家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為特克斯企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè),特克斯網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
要使用此函數(shù),您可以從 main 函數(shù)調(diào)用它,并將 的值作為參數(shù)傳入。例如:n
此代碼將打印 5 的階乘,即 120。
你提問(wèn)的是關(guān)于運(yùn)算結(jié)果的輸出,在python2.x中,可以使用print聲明。在python3.x中,可以使用print內(nèi)置函數(shù)(對(duì)象)。
比如,在python3中。你可以這樣:
print(1+1)
a=1
b=1
print(a+b)
a=-1
b=2
print(a+b)
a=2.5
b=1.5
print(a+b)
a=5.5
print(-a)
a=5.5
b=3
print(a**b)
a=3
a+=1
print(a)
a=85.5
b=35.25
print(divmod(a,b))
python是一門(mén)很靈活的語(yǔ)言,它本身可以當(dāng)成一個(gè)計(jì)算器。
個(gè)人建議:
先學(xué)會(huì)使用python的內(nèi)置函數(shù),然后慢慢掌握。
注:python有很多的第三方庫(kù),可以通過(guò)pip進(jìn)行安裝或通過(guò)提供第三方庫(kù)的站點(diǎn)下載安裝。使用別人的成果可以更快的進(jìn)行開(kāi)發(fā),以后等你熟練后可以自己開(kāi)發(fā)第三方庫(kù)。
純手工,如果對(duì)你有幫助望采納!
我們都知道在計(jì)算機(jī)中數(shù)據(jù)由二進(jìn)制表示,而浮點(diǎn)數(shù)則是小數(shù)的一種二進(jìn)制表示方法。
由于浮點(diǎn)數(shù)存在精度限制,在Python中使用浮點(diǎn)數(shù)做運(yùn)算時(shí)就可能會(huì)產(chǎn)生不確定尾數(shù)。
不確定尾數(shù)
比如0.1 + 0.2的運(yùn)算結(jié)果應(yīng)該是0.3,但是在Python中輸出的卻是0.30000000000000004。小數(shù)點(diǎn)后十七位出現(xiàn)了不確定尾數(shù),這與浮點(diǎn)數(shù)的精度是相符合的。
不確定尾數(shù)的影響
不確定尾數(shù)是一種比較常見(jiàn)的現(xiàn)象,在編寫(xiě)程序時(shí)要注意避免,否則容易產(chǎn)生不易察覺(jué)的bug。
比如下面這段簡(jiǎn)單的程序,它判斷用戶(hù)的計(jì)算結(jié)果是否正確:
x = 0.1
y = 0.2
z = input(str(x) + '+' + str(y) + '=')
if x + y == eval(z):
print('Correct Answer')
else:
print('Wrong Answer')
如果用戶(hù)輸入了正確的答案0.3,程序本來(lái)應(yīng)該輸出“Correct Answer”,然而由于不確定尾數(shù)的存在,程序依然輸出“Wrong Answer”。
實(shí)驗(yàn)結(jié)果:
判斷出錯(cuò)
如何避免受不確定尾數(shù)的影響
既然知道了不確定尾數(shù)會(huì)帶來(lái)不可預(yù)料的bug,我們?cè)诰帉?xiě)程序時(shí)就要留意避免這種局面,一種常用的方法是使用round()函數(shù)只保留運(yùn)算結(jié)果的前幾位小數(shù),這樣就自然去掉了小數(shù)點(diǎn)后十多位的不確定尾數(shù)。
剛才那段代碼可以修改為如下版本:
x = 0.1
y = 0.2
z = input(str(x) + '+' + str(y) + '=')
if round(x + y, 6) == eval(z):
print('Correct Answer')
else:
print('Wrong Answer')
這里用round(x + y, 6)來(lái)保留到小數(shù)點(diǎn)后六位。實(shí)驗(yàn)結(jié)果:
如果在 Python 命令行中輸入命令,您將看到以下輸出:print("你好,Python")
此輸出是函數(shù)將字符串打印到命令行的結(jié)果。該函數(shù)是 Python 中的內(nèi)置函數(shù),用于將值打印到屏幕或文件。在這種情況下,函數(shù)將字符串打印到命令行,這是在交互模式下使用 Python 解釋器時(shí)的默認(rèn)輸出目標(biāo)。print()"你好,Python"print()print()"你好,Python"
還可以通過(guò)提供可選參數(shù)為函數(shù)指定不同的輸出目標(biāo)。例如,可以使用以下代碼將字符串打印到文件而不是命令行:print()file
此代碼會(huì)將字符串寫(xiě)入文件,而不是將其打印到命令行??梢允褂么朔椒▽⒑瘮?shù)的輸出重定向到 Python 中的任何類(lèi)似文件的對(duì)象,例如文件、字符串緩沖區(qū)或套接字。"你好,Python"output.txtprint()
回答不易望請(qǐng)采納
首先你要明白,Python的函數(shù)傳遞方式是賦值,而賦值是通過(guò)建立抄變量與對(duì)象的關(guān)聯(lián)實(shí)現(xiàn)的。
對(duì)于你的代碼:
執(zhí)行 d = 2時(shí),你在__main__里創(chuàng)建了d,并讓它指向2這個(gè)整型對(duì)象。
執(zhí)行函數(shù)add(d)過(guò)程中:
d被傳遞給add()函數(shù)后,在函數(shù)內(nèi)部,襲num也指向了__main__中的百2
但執(zhí)行num = num + 10之后,新建了對(duì)象12,并讓num指向了這個(gè)新對(duì)象——12。
如果你明白函數(shù)中的局部變量與__main__中變量的區(qū)別,那么很顯然,在__main__中,d仍在指著2這個(gè)對(duì)象,它沒(méi)有改變。因此,你打印d時(shí)得到了2。
如果你想讓輸出為12,最簡(jiǎn)潔的辦法是:度
在函數(shù)add()里增加return num
調(diào)用函數(shù)時(shí)使用d = add(d)
代碼如下:
def add(num):
num += 10
return num
d = 2
d = add(d)
print d