Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 22, 2020 12:27:22

Bened
Зарегистрирован: 2020-06-22
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться в работе логического оператора (простая задача)

Есть условие:

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. Я так понимаю дело в приоритете, но не понимаю ошибку.

Отредактировано Bened (Июнь 22, 2020 12:34:44)

Офлайн

#2 Июнь 22, 2020 12:53:37

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите разобраться в работе логического оператора (простая задача)

Цикл 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



Офлайн

#3 Июнь 22, 2020 13:26:48

Bened
Зарегистрирован: 2020-06-22
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться в работе логического оператора (простая задача)

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

Понял, большое спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version