繁体   English   中英

定义变量时如何使用elif?

[英]How do you use elif when defining a variable?

我正在尝试执行如下代码

y = 6
x = 7 if y/6 == 1 elif y/6 == 2 x = 5 else x = 4

简单地说,它不起作用。 我不确定如何使 elif 语句适合在一行上定义变量。

我可以使用如下的 else 语句

y = 6
x = 7 if y/6 == 1 else x = 4

如果 y/6 ==1,我希望能够将 x 设置为 7,如果 y/6 == 2,则将 x 设置为 5,如果两者都不是,我希望能够将 x 设置为 4

使用链式三元表达式:

>>> y = 6
>>> x = 7 if y/6 == 1 else 5 if y/6 == 2 else 4
>>> x
7

阅读本文的方法是:

x = ((7) if y/6 == 1 else ((5) if y/6 == 2 else (4)))

即每个expr1 if pred else expr2本身就是一个表达式。

您只需要x =...在开始时一次。 表达式的 rest 被评估为将分配给 x 的值。 您无需再次提及x

x = 7 if y/6 == 1 else 5 if y/6 == 2 else 4

一般来说,语法是

var = value1 if condition1 else value2 if condition2 else value3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM