Я делал HandON с кодом ниже:
for i in range(10,16):
if(i%5==0 & i%3==0):
print(i, 'both')
elif i%5==0:
print(i,'divisible by 5')
elif i%3==0:
print(i,'divisible by 3')
Когда я выполняю этот код, он выдает вывод как:
10 both
12 divisible by 3
15 both
Почему он дает 10 как кратное обоим? Если это побитовый оператор, тогда «if» будет иметь «0001» и «0000» для значения 10, что должно привести к «0000». Если я использую «и» вместо «&», это дает правильный ответ.
True & False
неTrue
в питоне. (Но тогда, что здесь происходит, спросите вы?! Очевидно, вы делаете предположение, которое не соответствует действительности. В данном случае это приоритет оператора. Попробуйте заключить условия в скобки, прежде чем использовать&
) - person Paritosh Singh   schedule 09.07.2019if i%5== (0 & (i%3==0)):
- person Gábor Fekete   schedule 09.07.2019python -c "print(True&False)"
видимо печатаетFalse
. - person Ignatius   schedule 09.07.2019