Уведомления

Группа в Telegram: @pythonsu

#1 Июль 8, 2019 11:20:06

EugeneDemonSpeed666
Зарегистрирован: 2019-06-26
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу решить 19 задачу.

http://judge.mipt.ru/mipt_cs_on_python3/labs/lab2.html

 while not wall_is_on_the_right():
		move_right()
	while not wall_is_above():
		move_up()
	while not wall_is_on_the_left():
		move_left()
	if not wall_is_on_the_right():
		while not wall_is_on_the_left():
			move_left()
		while not wall_is_above():
			move_up()

Офлайн

#2 Июль 8, 2019 12:24:11

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Не могу решить 19 задачу.

пока нет стены слева:
идем влево
если сверху нет стены:
пока сверху нет стены:
идем вверх
иначе:
пока нет стены справа:
идем вправо
если сверху нет стены:
пока сверху нет стены:
идем вверх
пока слева нет стены:
идем влево
иначе:
грузинская шутка- выхода нет



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июль 8, 2019 12:25:08)

Офлайн

#3 Июль 8, 2019 12:26:25

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9897
Репутация: +  855  -
Профиль   Отправить e-mail  

Не могу решить 19 задачу.

Когда алгоритм делаешь, запиши его сначала псевдокодом. Псевдокод не требует соблюдения синтаксиса, поэтому на нём алгоритм проще записывать и его проще менять, если он неправильный в плане алгоритма. Когда на псевдокоде правильный алгоритм будет записан, тогда уже можно и на питон этот псевдокод перевести.

Решение задачи на псевдокоде

цикл пока сверху_стена и слева_не_стена выполнять
шагнуть_влево
конец цикла
если сверху_стена то
цикл пока сверху_стена и справа_не_стена выполнять
шагнуть_вправо
конец цикла
конец если
если сверху_не_стена то
цикл пока сверху_не_стена выполнять
шагнуть_вверх
конец цикла
цикл пока слева_не_стена выполнять
шагнуть_влево
конец цикла
конец если

Ещё эти части алгоритма написаны раздельно, хотя на первый взгляд их там можно соединить в одну конструкцию. Это разделение делается для того, чтобы каждую часть можно было спрятать внутри своей процедуры, не зависящей от других процедур.



Отредактировано py.user.next (Июль 8, 2019 12:36:08)

Офлайн

#4 Июль 9, 2019 07:49:37

EugeneDemonSpeed666
Зарегистрирован: 2019-06-26
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу решить 19 задачу.

PEHDOM
py.user.next
Спасибо )))

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version