所以我试图做一个if语句来检查两个变量是否大于10 如果它们都为True,则我希望代码通过或停止。但是,如果其中之一为True,则我希望代码显示该True变量。
例如:
var1 = 5
var2 = 11
if (var1 >= 10) is not (var2 >= 10):
# print the true variable
else:
pass
在这种情况下,我希望它打印:
var2 = 11
但是如果var1
是True变量,我希望它打印var1
。任何答案将不胜感激。
答案 0 :(得分:0)
对于更灵活的解决方案(大量的var),可以按照以下方式进行操作:
var1 = 5
var2 = 11
num = [var for var in [var1, var2] if var >= 10]
if len(num) > 1:
pass
if len(num) == 1:
print(num[0])
else:
pass
答案 1 :(得分:0)
var1 = 5
var2 = 11
if (var1 > 10 and var2 > 10) or (var1 < 10 and var2 < 10): # checks if both vars are greater or lesser than 10.
pass
else: # if one of them only is greater than 10 it is printed
if var1 > 10:
print('var1: %d' % var1)
if var2 > 10:
print('var2: %d' % var2)
答案 2 :(得分:0)
我会在python中使用xor运算符,因为这样可以简化代码并避免不必要的条件:
if (var1 > 10) ^ (var2 > 10):
if var1 > 10:
print(var1)
elif var2 > 10:
print(var2)
编辑:甚至可以进一步简化:
if (var1 > 10) ^ (var2 > 10):
print(var1 if var1 > 10 else var2)
请参见xor operator或xor operator python
(PD:另一种替代方法是使用!=
)