Проблема в том, что &
имеет более высокий приоритет, чем операторы сравнения (>=
/ <
), поэтому avg>=80&avg<90
анализируется как avg>=(80&avg)<90
. Затем он пытается сделать поразрядным &
между двумя значениями, но безуспешно.
Вам лучше написать это как 1011 *.
avg>=70 and avg<80
(and
является оператором короткого замыкания и имеет меньший приоритет) или
70 <= avg < 80