4.3 Python3 进阶 - 函数嵌套和嵌套调用
>>返回主目录
源码
# 函数嵌套
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()
"""
# Author:PortosHan
# Datetime:2021/6/3 17:11
# 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 # 登录失败锁定登录的次数
user_name_list = ['Portos', 'Han', 'Portos Han', '普尔图斯'] # 已有的用户
PASS_WORD = '123456' # 密码常量
# 定义一个生成验证码的函数
def generate_code():
code = ''
# 生成CODE_NUMBER位验证码
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.lower():
if (user_name.lower() in [i.lower() for i in user_name_list]) and pass_word == PASS_WORD:
print('用户登录成功!')
return user_name
else:
print('用户名或密码有误,请重新输入!')
else:
print('输入的验证码有误,请重新输入!')
return
test = login()
print(test)
>>返回主目录
作者: PortosHan
出处: https://www.cnblogs.com/PortosHan/
关于作者:专注于软件测试、测试开发等领域,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。 原文链接 如有问题,可邮件(bhanzdan@163.com)咨询。