Найти - Пользователи
Полная версия: Помогите разобраться в работе логического оператора (простая задача)
Начало » Python для новичков » Помогите разобраться в работе логического оператора (простая задача)
1
Bened
Есть условие:

1. Размер команды А (переменная team_a)
2. Размер команды B (переменная team_b)
3. В эту переменную должно записаться число, которое будет делиться на team_a И team_b без остатка (переменная pieces_cake ).

Создаю цикл While, но почему-то он прекращает добавлять к переменной-счетчик +1, когда достигает значения одной из переменной (в данном случае 5), и игнорирует второе условие (в данном случае 7), которые указано через and. Вот, что получается:

 a_team = 7
b_team = 5
pieces_cake = 1
while pieces_cake % a_team != 0 and pieces_cake % b_team != 0:
  pieces_cake += 1
print(pieces_cake)    #==> 5

Подскажите, почему игнорируется условие and?? Прописано, чтобы считчик добавлял +1, пока число не будет делиться одновременно и на team_a и на team_b. Я так понимаю дело в приоритете, но не понимаю ошибку.
FishHook
Цикл while работает ПОКА условие верно.
Ваше условие “число отлично от нуля И другое число отлично от нуля”
Как только одно из чисел перестанет быть отличным от нуля, условие станет равно False.
pieces_cake = 5
a_team = 7
b_team = 5

pieces_cake % a_team != 0 == True
pieces_cake % b_team != 0 == False

True and False == False
Bened
FishHook
Цикл while работает ПОКА условие верно.Ваше условие “число отлично от нуля И другое число отлично от нуля”Как только одно из чисел перестанет быть отличным от нуля, условие станет равно False.pieces_cake = 5a_team = 7b_team = 5pieces_cake % a_team != 0 == Truepieces_cake % b_team != 0 == FalseTrue and False == False

Понял, большое спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB