Skip to main content
 首页 » 编程设计

Python:If-else 语句

2025年05月04日15oomusou

以下代码显示错误:

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)):