Python ELIF Bug?

时间:2015-12-06 11:02:20

标签: python

我无法理解为什么Python没有按照我的要求去做。

方法:

def IdentifyUVIndex(self, UVType):

        if (UVType >= '1' and UVType <= '2'):

            return "Low Exposure."

        elif (UVType >= '3' and UVType <= '5'):

            return "Moderate Exposure."

        elif (UVType >= '6' and UVType <= '7'):

            return "High Exposure."

        elif (UVType >= '8' and UVType <= '10'):

            return "Very High Exposure."

        elif (UVType >= '11'):

            return "Extreme Exposure."

        else:
            return "Unknown."

所以,如果我输入:

print main().IdentifyUVIndex('1')

它返回低曝光。大!但是当我传递大于7的任何东西时,它会立即返回“极端曝光”。

我做错了吗?它应该返回非常高的曝光度。

如果我通过'11'它会返回极端曝光但返回低曝光?这太令人困惑!!

1 个答案:

答案 0 :(得分:0)

您正在比较字符串,而不是整数:

>>> '1' <= '11' <= '2'
True
>>> 1 <= 11 <= 2
False

将输入数字转换为整数并相应地修改代码。