python比较正数和负数

时间:2014-02-24 13:44:12

标签: python comparison

我无法猜到为什么我在python中运行时没有得到任何打印...这就像它没有正确考虑负数。

varA = -4
varB = 8
if type(varA)==str:
    print "string involved"
elif type(varB)==str:
    print "string involved"
elif varA>varB:
    print "bigger"
elif varA==varB:
    print "equal"
elif varA>varB:
    print "smaller"

3 个答案:

答案 0 :(得分:3)

将上一个elif varA>varB:更改为elif varA<varB:。只是一个错字。

为了安全处理此类问题,您最后可以使用else代替elif

elif varA>varB:
    print "bigger"
elif varA==varB:
    print "equal"
else:  #don't use elif 
    print "smaller"

答案 1 :(得分:1)

问题是最后一次elifelif varA>varB:。它与第3个条件相同。您应该将其修复为:

elif varA<varB:

顺便说一下,如评论中所述,要检查某种类型的实例是否比使用isinstance方法更好地使用type(obj)==str方法。

答案 2 :(得分:0)

因为没有条件是真的。

我猜你打算写:

varA = -4
varB = 8
if type(varA)==str:
    print "string involved"
elif type(varB)==str:
    print "string involved"
elif varA>varB:
    print "bigger"
elif varA==varB:
    print "equal"
elif varA<varB: # And not "varA>varB" as above
    print "smaller"

Give --> smaller

希望这能解决您的疑虑!