不要只關(guān)注報(bào)錯(cuò)的那行,它的上一行也要檢查。
創(chuàng)新互聯(lián)專注于寬城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供寬城營銷型網(wǎng)站建設(shè),寬城網(wǎng)站制作、寬城網(wǎng)頁設(shè)計(jì)、寬城網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造寬城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供寬城網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
比如上一行如果少了閉合括號(hào) ")",同樣也會(huì)報(bào)錯(cuò)這一行
這個(gè)是說讓你縮進(jìn)的。
Python語言是一款對(duì)縮進(jìn)非常敏感的語言,給很多初學(xué)者帶來了困惑,即便是很有經(jīng)驗(yàn)的Python程序員,也可能陷入陷阱當(dāng)中。最常見的情況是tab和空格的混用會(huì)導(dǎo)致錯(cuò)誤,或者縮進(jìn)不對(duì),而這是用肉眼無法分別的。
在編譯時(shí)會(huì)出現(xiàn)這樣的錯(cuò)IndentationError:expected
an
indented
block說明此處需要縮進(jìn),你只要在出現(xiàn)錯(cuò)誤的那一行,按空格或Tab(但不能混用)鍵縮進(jìn)就行。
往往有的人會(huì)疑問:我根本就沒縮進(jìn)怎么還是錯(cuò),不對(duì),該縮進(jìn)的地方就要縮進(jìn),不縮進(jìn)反而會(huì)出錯(cuò),,比如:
if
xxxxxx:
(空格)xxxxx
或者
def
xxxxxx:
(空格)xxxxx
還有
for
xxxxxx:
(空格)xxxxx
一句話
有冒號(hào)的下一行往往要縮進(jìn),該縮進(jìn)就縮進(jìn)
Python程序開發(fā)中的錯(cuò)誤通??煞譃槿?語法錯(cuò)誤、運(yùn)行時(shí)錯(cuò)誤和邏輯錯(cuò)誤。
1.語法錯(cuò)誤,語法錯(cuò)誤是在Python程序開發(fā)中最常見的錯(cuò)誤,如關(guān)鍵字輸入錯(cuò)誤、變量未賦值使用、函數(shù)未定義等。在一些Python集成開發(fā)環(huán)境(如PyCharm)中,輸入程序代碼時(shí)會(huì)自動(dòng)檢測語法錯(cuò)誤,并且錯(cuò)誤位置以紅色波浪線標(biāo)出。因此,此類錯(cuò)誤比較容易被發(fā)現(xiàn)和改正。
2.運(yùn)行時(shí)錯(cuò)誤,運(yùn)行時(shí)錯(cuò)誤是指Python代碼編譯通過,在運(yùn)行代碼時(shí)發(fā)生的錯(cuò)誤。這類錯(cuò)誤往往是由指令代碼執(zhí)行了非法操作引起的,如數(shù)組下標(biāo)越界、除數(shù)為0、試圖打開一個(gè)不存在的文件、連接數(shù)據(jù)庫錯(cuò)誤等。當(dāng)程序中出現(xiàn)這種錯(cuò)誤時(shí),程序會(huì)自動(dòng)中斷,并給出有關(guān)的錯(cuò)誤信息提示。
3.邏輯錯(cuò)誤,程序運(yùn)行結(jié)果和預(yù)期結(jié)果不一致,說明程序中存在邏輯錯(cuò)誤,如運(yùn)算符使用不正確,語句順序不對(duì),循環(huán)語句的起始值、終值或步長設(shè)置不對(duì)等。邏輯錯(cuò)誤通常不會(huì)產(chǎn)生錯(cuò)誤提示,只能根據(jù)運(yùn)行結(jié)果知道程序中出現(xiàn)了錯(cuò)誤。因此,這種錯(cuò)誤較難被排除,需要編程人員仔細(xì)閱讀代碼,使用調(diào)試和排錯(cuò)技巧,在可疑代碼處插入斷點(diǎn)并逐句跟蹤,檢查相關(guān)變量的值等方法,分析錯(cuò)誤位置和原因。
def?avg(x):
return?sum(x)/len(x)
def?drop_first_last(grades):
middle?=?grades[1:-1]
print?middle
return?avg(middle)
drop_first_last([98,59,61,60])
[59,?61]
60