Уведомления

Группа в Telegram: присоединиться

#1 Июль 12, 2019 10:31:11

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

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

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

 while not wall_is_on_the_right():
		move_right()
		if not wall_is_above():
			while not wall_is_above():
				move_up()
				fill_cell()
				if wall_is_above():
					while not wall_is_beneath():
						move_down()
					if wall_is_beneath():
						while not wall_is_on_the_right():
							move_right() 	

Офлайн

#2 Июль 12, 2019 11:39:40

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

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

EugeneDemonSpeed666

while not wall_is_above():
move_up()
fill_cell()
if wall_is_above():
У вас есть цикл, который выполняется пока нет_стены_сверху. Ну объясните, зачем же внутри этого цикла проверять, есть ли стена сверху? Когда стена сверху появится - цикл закончится.



Офлайн

#3 Июль 13, 2019 00:41:46

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

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

На псевдокод рабочий код (проверял на реальном)

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

[guest@localhost pyrob]$ python3 task_23.py 
INFO:pyrob:Starting task task_6_6
INFO:pyrob:Task task_6_6 finished: +
INFO:pyrob:Total: 1/1
[guest@localhost pyrob]$



Отредактировано py.user.next (Июль 13, 2019 00:42:21)

Офлайн

#4 Июль 14, 2019 09:37:20

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

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

py.user.next
FishHook
Спасибо

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version