Форум сайта python.su
0
left = wall_is_on_the_right() down = wall_is_above() for i in range(9): if left: move_left() else: move_right() if down: move_down() else: move_up()
for i in range(9): if wall_is_on_the_right(): move_left() else: move_right() if wall_is_above(): move_down() else: move_up()
Отредактировано Nakiri (Окт. 23, 2019 11:18:18)
Офлайн
568
NakiriДает, потому что переменная создается ДО цикла, а функцию вы вызываете на каждой иттерации цикла, и каждый раз функция может давать разный результат.
Разве создание переменной даёт принципиальную разницу?
Офлайн
0
FishHookПолучается в переменной фиксируется значение True и переменная подставляется с конкретным значением. Тогда если я делаю так
каждый раз функция может давать разный результат
if wall_is_on_the_right() == True:
Отредактировано Nakiri (Окт. 23, 2019 11:45:14)
Офлайн
568
NakiriС какой радости?
это будет эквивалентно той переменной?
Офлайн
0
FishHookНеправильно выразил мысль, не эквивалентно, а условия одинаковые.
С какой радости?
if wall_is_on_the_right() == True:
if left:
while not wall_is_on_the_left():
while wall_is_on_the_left() == False:
Отредактировано Nakiri (Окт. 23, 2019 12:13:32)
Офлайн