以下代码显示错误:
if ((type(varA) or type(varB) ) == type('t')):
print "string involved"
elif varA<varB:
print "RANDOM"
错误是针对这种情况的:
Test Values: varA = 0, varB = adios
输出:
RANDOM
而这段代码
if ((type(varA) == type('t')) or (type(varB)== type('t'))):
print "string involved"
elif varA<varB:
print "RANDOM"`
对于以下测试值:
Test Values: varA = 6, varB = adios
输出如下:
string involved
这两个“如果”条件有什么区别?我发现它们具有相同的逻辑!
请您参考如下方法:
这是错误的:
if ((type(varA) or type(varB) ) == type('t')):
应该是:
if type(varA) == str or type(varB) == str:
等价于:
if isinstance(varA, str) or isinstance(varB, str):
或者更短一点:
if str in ((type(varA), type(varB)):
