python 寫(xiě)函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫(xiě)法說(shuō)明
例如以下這個(gè)函數(shù):
state = 1def set_state(state): while state: set = int(input(’請(qǐng)輸入9或5,顯示'hello world'n’)) if set == 9 or set == 5: print(’hello world’) state = int(input(’輸入1繼續(xù),輸入0停止!n’)) else: print(’請(qǐng)輸入要求的值!’) set_state(state) # breakset_state(state)print(’end’)
這個(gè)函數(shù)設(shè)計(jì)的目的是讓用戶(hù)輸入指定的值,若輸入的值并非指定值,則重新輸入。
不寫(xiě)break,運(yùn)行時(shí)就會(huì)出現(xiàn)錯(cuò)誤,乍一看正確:
但:
此時(shí)箭頭所指的地方,所輸入的0傳給了其他條件下,第二次運(yùn)行函數(shù)時(shí)的狀態(tài)下,第一個(gè)狀態(tài)仍為1,并未改變,因此在退出了第二次運(yùn)行的函數(shù)后,仍然會(huì)繼續(xù)運(yùn)行第一個(gè)函數(shù)中state = 1的循環(huán),導(dǎo)致還得再次輸入0去改變state的值才能停止運(yùn)行
因此,在再次調(diào)用該函數(shù)的語(yǔ)句后面,應(yīng)該加一句breaK語(yǔ)句,直接退出當(dāng)前的循環(huán),避免出現(xiàn)函數(shù)執(zhí)行的效果達(dá)不到預(yù)期效果,
加入break以后的截圖:
break為跳出本層循環(huán),只影響一層
continue為跳出本次循環(huán),進(jìn)行下一次循環(huán)
return為為直接跳出當(dāng)前函數(shù)
補(bǔ)充知識(shí):在python中調(diào)用自己寫(xiě)的方法或函數(shù)function
一、在command中調(diào)用
1 在終端里先用 cd 指令到指定路徑(D盤(pán))
2 切到 python 交互環(huán)境下,輸入 import myfunc (如果 myfunc.py 是你的文件全名的話(huà))
>>> import myfunc
3 輸入 myfunc.函數(shù)名(參數(shù))
二、在IDE編輯器中調(diào)用
import sys sys.path.append(r’D:’)import mymodulemymodule.function()
如
import syssys.path.append(’C:UsersusernamePycharmProjectsuntitledstudy_some’)import list#調(diào)用list.print_l(movies)
以上這篇python 寫(xiě)函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫(xiě)法說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP基礎(chǔ)入門(mén)第三篇(ASP腳本基礎(chǔ))2. 詳解CSS不定寬溢出文本適配滾動(dòng)3. python中if嵌套命令實(shí)例講解4. PHP與已存在的Java應(yīng)用程序集成5. 使用ProcessBuilder調(diào)用外部命令,并返回大量結(jié)果6. Python實(shí)現(xiàn)查找數(shù)據(jù)庫(kù)最接近的數(shù)據(jù)7. 使用css實(shí)現(xiàn)全兼容tooltip提示框8. CSS自定義滾動(dòng)條樣式案例詳解9. Java之JSP教程九大內(nèi)置對(duì)象詳解(中篇)10. IDEA項(xiàng)目的依賴(lài)(pom.xml文件)導(dǎo)入問(wèn)題及解決
