TLDR внизу.
Прежде всего, пока циклы выполняются, если выполняется следующее условие, поэтому
DieOne != 6 or DieTwo != 6:
должен возвращать true при упрощении, чтобы функция while работала
Операторы и возвращают значение true, если оба условия выполнены, поэтому цикл while будет выполняться только тогда, когда он равен True и True .
So
while DieOne != 6 and DieTwo != 6:
не будет работать, если один из кубиков бросит 6, например:
Если DiceOne бросил 4, а DiceTwo бросил 6, цикл while не запустится, потому что DieOne! = 6 имеет значение true, а DieTwo! = 6 - false. Я положил этот ход мысли в код ниже.
while DieOne != 6 and DieTwo != 6:
while True and False:
while False: #So it won't run because it is false
Оператор или работает по-разному, оператор или возвращает true, когда one из условий выполняется, поэтому цикл while будет выполняться, когда он True или True , True или False или _False или True.
Так
while DieOne != 6 or DieTwo != 6:
будет работать, если только одна из костей бросит шестерку. Например:
Если DiceOne бросил 4, а DiceTwo бросил 6, цикл while будет запущен, потому что DieOne! = 6 имеет значение true, а DieTwo! = 6 - false. Я поместил этот ход мыслей в код ниже.
while DieOne != 6 or DieTwo != 6:
while True or False:
while True: #So it will run because it is true
TLDR / Обзор:
while True: #Will run
while False: #Won't run
И
while True and True: #Will run
while True and False: #Won't run
while False and True: #Won't run
while False and False: #Won't run
Или:
while True or True: #Will run
while True or False: #Will run
while False or True: #Will run
while False or False: #Won't run