use*_*628 2 python if-statement python-2.7
我有一个'if-elif-else'块,如果一个值在该范围内,则会为其分配一定的值.然而,当我运行它时,只是在else块中赋值.这是我的代码:
if mile < 300:
mileInfo['miles'] = 1
elif mile>=300 and mile <2000:
mileInfo['miles'] = 2
elif mile>=2000 and mile <5000:
mileInfo['miles'] = 3
else:
mileInfo['miles'] = 4
Run Code Online (Sandbox Code Playgroud)
Mile返回一个浮点数,但我认为这与Java中的无关紧要.
谢谢
也许mile是一个包含数字的字符串?它不会自动转换.
>>> "1" < 100
False
>>> "1" == 1
False
Run Code Online (Sandbox Code Playgroud)
您无需elif重新检查前一个是否if为false.如果值不是< 300,则保证是>=300.