Python表达式,该表达式在满足条件时返回值,但在其他情况下继续for循环

2024-03-28 18:17:41 发布

您现在位置:Python中文网/ 问答频道 /正文

这听起来像是一个愚蠢而可怕的想法,这可能是因为它是。 Python中是否有一种方法(最好是一个单行程序)来创建一个表达式,该表达式在满足条件时解析为一个值,但如果不满足条件,它将执行一个语句(例如continue或一个方法调用)

下面是一个示例用例(尽管此代码实际上不起作用):

def print_name_if_even(n):
    print(f"{ name if n % 2 == 0 else print("Uneven!") }")

我知道这可能是个坏主意,但我正在做一个挑战,将函数定义塞进尽可能少的行中,因此我希望避免多行条件语句


Tags: 方法代码name程序示例if表达式def
1条回答
网友
1楼 · 发布于 2024-03-28 18:17:41

你是说像这样的

def f():
    # <your statement>
    return 'yourstatement'

print ([f(), 'Even!'][False])

False替换为计算结果为True(=1)或False(=0)的任何条件。 (这很有趣)。例如:

def f():
    # <your statement>
    return 'yourstatement'
n=2
print ([f(), 'Even!'][n%2 == 0])

相关问题 更多 >