>>返回主目錄
原始碼
# 函式巢狀
def func1():
print("這是外部函式")
def func2():
print("這是內部函式1")
def func3():
print("這是內部函式2")
# func2() # 在函式外部不能直接呼叫函式內部的函式
func1()
原始碼
# 巢狀呼叫
# 巢狀呼叫1:在外函式內部呼叫內函式,例如:
def fun_outer_call_1():
print("這是outer外部函式1")
def fun_inner_call_1():
print("這是inner內部函式1")
fun_inner_call_1() # 函式名呼叫內函式
fun_outer_call_1()
# 巢狀呼叫2:可以用return呼叫內函式,例如:
def fun_outer_call_2():
print("這是outer外部函式2")
def fun_inner_call_2():
print("這是inner內部函式2")
return fun_inner_call_2() # return 函式名(),方式呼叫
fun_outer_call_2() # 呼叫外函式
def fun_outer_call_3():
print("這是outer外部函式3")
def fun_inner_call_3():
print("這是inner內部函式3")
return fun_inner_call_3 # return 函式名,方式呼叫
fun_outer_call_3()() # 呼叫內函式
原始碼
# Author:PortosHan
# Datetime:2021/5/28 11:22
# Project:zbcf_python_lesson_project
"""
登入練習:
第一步:輸入使用者名稱、密碼;
第二步:生成驗證碼;
第三步:校驗驗證碼是否輸入正確;
第四步:校驗使用者名稱、密碼是否輸入正確(資料庫中有的);
第五步:都正確則登入成功,有錯誤則提示相應原因。
程式碼提示:
def generate_code():
print('此函式用於生成驗證碼')
def login():
print('此函式用於登入')
generate_code() # 函式內呼叫生成驗證碼函式
login()
"""
# 建立全域性變數
import random
KEY_WORD = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM' # 驗證碼可包含的字元
CODE_NUMBER = 4 # 驗證碼的字元個數
LOCK_LOGIN = 5 # 登入失敗鎖定登入的次數
# 定義一個生成驗證碼的函式
def generate_code():
code = ''
for _ in range(CODE_NUMBER):
ran_str = KEY_WORD[random.randint(0, len(KEY_WORD)-1)]
code += ran_str
return code
def login():
print('******中保車服官網******')
for _ in range(LOCK_LOGIN):
user_name = input('使用者名稱:')
pass_word = input('密碼:')
code = generate_code()
print(f'驗證碼是:{code}')
input_code = input('驗證碼:')
# 校驗驗證碼、使用者名稱和密碼是否正確
if input_code.lower() == code:
if user_name.lower() == 'portos' and pass_word == '123456':
print('使用者登入成功!')
return
else:
print('使用者名稱或密碼有誤,請重新輸入!')
else:
print('輸入的驗證碼有誤,請重新輸入!')
return
login()