当前位置: 首页 > 面试题库 >

如何退出if子句

柳弘方
2023-03-14
问题内容

有哪些方法可以过早退出if子句?

有时候,我在编写代码时希望将一条break语句放在if子句中,只是要记住,这些语句只能用于循环。

让我们以以下代码为例:

if some_condition:
   ...
   if condition_a:
       # do something
       # and then exit the outer if block
   ...
   if condition_b:
       # do something
       # and then exit the outer if block
   # more code here

我可以想到一种方法:假设退出情况发生在嵌套的if语句内,请将剩余的代码包装在一个大的else块中。例:

if some_condition:
   ...
   if condition_a:
       # do something
       # and then exit the outer if block
   else:
       ...
       if condition_b:
           # do something
           # and then exit the outer if block
       else:
           # more code here

问题是更多的退出位置意味着更多的嵌套/缩进代码。

另外,我可以编写我的代码以使if子句尽可能小,并且不需要任何退出。

有人知道退出if子句的好/更好的方法吗?

如果存在任何关联的else-if和else子句,我认为退出将跳过它们。


问题答案:

(此方法适用于ifs,多个嵌套循环和您break不易使用的其他构造。)

将代码包装在自己的函数中。代替break使用return

例:

def some_function():
    if condition_a:
        # do something and return early
        ...
        return
    ...
    if condition_b:
        # do something else and return early
        ...
        return
    ...
    return

if outer_condition:
    ...
    some_function()
    ...


 类似资料:
  • 为了响应特定的输出,检查if语句中的退出状态的最佳方法是什么? 我在想 我还有一个问题,退出语句位于if语句之前,因为它必须有退出代码。而且,我知道我做错了什么,因为退出显然会退出程序。

  • 假设您有一个二进制文件,其中包含类型为int或double的数字。您不知道文件中数字的顺序,但它们的顺序记录在文件开头的字符串中。字符串由表示int的字母i和表示double的字母d组成,按后续数字类型的顺序排列。字符串是使用writeUTF方法写入的。 例如,字符串“iddiiddd”表示该文件包含八个值,如下所示:一个整数,后跟两个双精度,后跟两个整数,后跟三个双精度。 我的问题是,如果字符串

  • 问题内容: 我正在使用ProcessBuilder启动子进程,并且如果父进程确实需要退出子进程。在正常情况下,我的代码可以正确阻止孩子。但是,如果我导致操作系统杀死父进程,则子进程将继续运行。 有什么方法可以将子进程“绑定”到父进程,以便在父进程被杀死时退出? 问题答案: 子进程与其父进程之间没有联系。他们可能彼此知道进程ID,但是它们之间没有硬连接。您在谈论孤立过程。这是操作系统级别的问题。意味

  • 问题内容: 对于子进程,和函数可用于暂停当前进程的执行,直到子进程退出。但是此功能不能用于非子进程。 是否有另一个函数可以等待任何进程的退出? 问题答案: 什么都不等于。通常的做法是使用轮询,寻找返回值-1和的,表明进程已经一去不复返了。

  • 我被卡住了,无法逃脱。它说: 但当我键入时,它只会出现在对象体中。