I have an ‘if-elif-else’ block and if a value is within that range it is assigned a certain value. However it when I run it just assigns it the value in the else block. This is my code:
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
Mile returns a float, but I thought that this didn’t matter as much as in Java for example.
Thanks
Maybe
mileis a string containing a number? It will not be automatically converted.You don’t need to have the
elifre-check that the previousifwas false. If the value wasn’t< 300, it is guaranteed to be>=300.