如何在Python中将两个变量与一个字符串进行比较?

4
如果a或b为空,我想要打印一条消息。以下是我的尝试:
a = ""
b = "string"

if (a or b) == "":
    print "Either a or b is empty"

只有当两个变量都包含空字符串时,才会打印该消息。

当a或b为空字符串时,如何执行打印语句?

5个回答

6
更明确的解决方案是这样的:
if a == '' or b == '':
    print('Either a or b is empty')

在这种情况下,您还可以检查一个元组中是否包含某个元素:
if '' in (a, b):
    print('Either a or b is empty')

2
第二个方案效率低下,因为需要创建一个元组,然后在其中进行搜索。 - exfizik

4
if not (a and b):
    print "Either a or b is empty"

3
您可以这样做:

您只需执行:

if ((not a) or (not b)):
   print ("either a or b is empty")

bool('')为假。

当然,这等同于:

if not (a and b):
   print ("either a or b is empty")

请注意,如果您想检查两个是否都为空,则可以使用操作符链接:
if a == b == '':
   print ("both a and b are empty")

2
if a == "" and b == "":
    print "a and b are empty"
if a == "" or b == "":
    print "a or b is empty"

1

或者您可以使用:

if not any([a, b]):
    print "a and/or b is empty"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接