Python if/elif statement not working correctly

Question:

Please help understand what is wrong with the code below. The code works fine if I pass values up to 34. Once I pass 35 or higher, the output is incorrect.

tuk=0
if tuk <= 24:
    print ('The text is very easy to read.')
elif tuk >= 25 & tuk <= 34:
    print('The text is easy to read.')    
elif tuk >= 35 & tuk <= 44:
    print('The text is moderately difficult to read.')
elif tuk >= 45 & tuk <= 54:
    print('The text is difficult to read')
elif tuk >= 55:
    print('The text is very difficult to read')
else:
    print('This is beyond')
Asked By: Olga

||

Answers:

Your code is correct, but changing the "&" to "and" because "&" is a bitwise logical operator, not a logical one.

For example:

z = 0 := 0b000
a = 1 := 0b001
b = 2 := 0b010
c = 3 := 0b011
d = 4 := 0b100 

now the result of the expression (a & c) is 0b001 or 1
but in logical expression (a and c) the result will be true, which I suppose you are interested in.

Answered By: POURiA
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.