基于另一个函数的返回参数退出函数吗?

问题描述 投票:2回答:2

我正在尝试理解下面这段代码的逻辑。有人可以帮我解决以下问题吗?

1]由于for的返回值为check_cheeseFalse循环是否继续执行?据我所知,结果是TrueFalsereturn命令会停止函数的执行。

2]仅当if check_cheese(cheese)函数的返回参数为check_cheese()时,True语句是否返回乳酪变量?我在这里有点困惑,因为没有像==in这样的检查,也没有任何其他指示仅在条件为True时才返回起司的语句。

3)如果列表中不存在Gouda怎么办?是否会像for循环中的每个条件都返回False,并在结束时打印语句您称自己

将在终止之前执行?

感谢您能提供的任何帮助。

def check_cheese(cheese):

    if cheese == "Gouda":
        print("ooh we have that one")
        return True
    print(f"we don't have any {cheese}")
    return False

def find_first_available_cheese():

    for cheese in ['Emmental','Gouda']:
        if check_cheese(cheese):
            return cheese
    print("and you call yourself a cheeseshop!")

find_first_available_cheese()

我正在尝试理解下面这段代码的逻辑。有人可以帮我解决以下问题吗? 1)for循环是否由于check_cheese返回False而继续执行?到目前为止...

python loops return exit
2个回答
0
投票
  1. return语句的调用将始终中断外部循环/函数,即使它是return False。您的情况是if条件阻止调用return语句

0
投票

1)是否由于返回,For循环继续执行?check_cheese是错误的吗?据我所知,要么结果为真或False,返回命令将停止执行函数

© www.soinside.com 2019 - 2024. All rights reserved.