関数オブジェクトと閉鎖操作

図1は、関数オブジェクトコードは、多分岐Lianshu場合に最適化されています

DEF log_in():
     印刷' ログイン機能' 

DEF レジスタ():
     印刷' 登録機能' 

DEFのCHECK_BALANCE():
     印刷' チェックバランス' 

DEF (撤退):
     印刷' 撤退' 

DEFの転送( ):
     印刷' 転送' 

DIC = {
     ' 0 ' { ' 終了'、終了}、
     ' 1 ':{ ' 登録' 、レジスタ}、
     ' 2 ':{ ' ログイン' 、log_in}、
     ' 3 ":{ " 残高照会、CHECK_BALANCE}、
     ' 4 ':{ ' 離脱' 、 }撤回、
     ' 5 ':{ ' 転送' 、転送} 
} 
しばらくTRUE:
     のために K DIC:
         印刷(K、私は[K] [0])と言います 
    CMD = INPUT(' コマンド番号を入力:' ).stripを()
     IF  ないのcmd.isdigit():
         印刷' 愚かなプロング、入力されたデジタルコマンド番号でなければなりません' 続行
    のIF CMD == ' 0 ' BREAK 
    IF CMDをDIC:
        DIC [CMD] [ 1。 名)]
     、他印刷' コマンドなし'

 

 

電卓蓄積

DEF F1():
    X = 0
     DEF カウンタ():
        非局所X 
        、X + = 1つの
         戻りX
     戻りカウンタ
F2 = F1()
 プリント(F2())
 プリント(F2())
 プリント(F2())
 プリント(F2( ))
 プリント(F2())

 

おすすめ

転載: www.cnblogs.com/bk134/p/12533822.html