Python 如何使用';和';仅当变量设置为“时才使用运算符”;“真的”;
仅当Python 如何使用';和';仅当变量设置为“时才使用运算符”;“真的”;,python,Python,仅当使用ivr=为真时,如何使用和运算符 ivr = 30 use_ivr = True if 1 == 1 and 2 == 2 and ivr > 30: print('yes') 因此,如果使用_ivr=False,则应按如下方式执行: if 1 == 1 and 2 == 2: print('yes') 使用嵌套的if语句检查Use_ivr是否为true: ivr = 31 use_ivr = True if use_ivr: if 1 == 1 a
使用ivr
=为真时,如何使用和运算符
ivr = 30
use_ivr = True
if 1 == 1 and 2 == 2 and ivr > 30:
print('yes')
因此,如果使用_ivr
=False
,则应按如下方式执行:
if 1 == 1 and 2 == 2:
print('yes')
使用嵌套的if语句检查Use_ivr是否为true:
ivr = 31
use_ivr = True
if use_ivr:
if 1 == 1 and 2 == 2 and ivr > 30:
print('yes')
else:
if 1 == 1 and 2 == 2:
print('no ivr was used');
在python中,和
的第二部分仅在第一部分为true时执行。
您可以使用未定义的veriable
>>如果在实践中为False和x#,这与上面的许多答案类似
ivr=31
使用_ivr=True
ivr_条件=ivr>30,如果use_ivr else True
如果(1==1)和(2==2)以及ivr_条件:
打印('是')
此解决方案选择将ivr条件压缩为单个三元语句。您可以将这种方法内联到一行较长的代码中,尽管我个人认为一行较长的代码更难解析。您可以使用以下方法:
ivr = 30
use_ivr = True
if all([1 == 1, 2 == 2, ivr > 30, use_ivr]):
print('yes')
if all([1 == 1, 2 == 2, not use_ivr]):
print('yes')
all()
如果iterable中的所有元素
传递到括号中的值为true(或者如果iterable为空),否则返回False
更新:
虽然我的第一个代码运行良好,但它计算1==1,2==2
两次。以下是更新版本:
ivr = 30
use_ivr = True
a = [1 == 1, 2 == 2, ivr > 30, use_ivr]
if all(a):
print('yes')
if all(a[:2]+[not use_ivr]):
print('yes')
您想在哪里使用操作员?在if语句本身中?你想要得到什么结果?1==1和2==2
总是正确的。这是否代表了什么?为什么要使用elif
而不仅仅是else
?elif不使用ivr
是多余的。改用else
。@wjandrea ninja'd;)我觉得用elif更容易理解,但你们绝对正确。我相应地调整了我的答案。。。。是的,这比我最初的评论更有意义:如果1==1和2==2和((不使用ivr)或ivr>30):
…这种方法的一个缺点是1==1
和2==2
得到两次计算——每个条件一次。这里没有问题,但是在使用这个解决方案之前要考虑一些问题。