Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2020, 19:24   #41
Kvark82
Пользователь
 
Регистрация: 18.06.2020
Сообщений: 37
По умолчанию

15-у задачку вот так решил, топорно. Может тут как-то более изящней можно?

Код:
#!/usr/bin/python3

from pyrob.api import *


@task
def task_8_21():
    if wall_is_above() and wall_is_on_the_left():
        move_down(9)
        move_right(9)
    elif wall_is_above() and wall_is_on_the_right():
        move_down(9)
        move_left(9)
    elif wall_is_beneath() and wall_is_on_the_right():
        move_up(9)
        move_left(9)
    else:
        move_up(9)
        move_right(9)


if __name__ == '__main__':
    run_tasks()
Kvark82 вне форума Ответить с цитированием
Старый 18.06.2020, 19:29   #42
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Про 15ю. Странно, что размеры "комнаты" они зафиксировали.
Код:
#!/usr/bin/python3

from pyrob.api import *


@task
def task_8_21():
    if wall_is_above():
        move_down(9)
    else:
        move_up(9)
    if wall_is_on_the_left():
        move_right(9)
    else:
        move_left(9)


if __name__ == '__main__':
    run_tasks()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 18.06.2020, 19:30   #43
Kvark82
Пользователь
 
Регистрация: 18.06.2020
Сообщений: 37
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Про 15ю. Странно, что размеры "комнаты" они зафиксировали.
Код:
#!/usr/bin/python3

from pyrob.api import *


@task
def task_8_21():
    if wall_is_above():
        move_down(9)
    else:
        move_up(9)
    if wall_is_on_the_left():
        move_right(9)
    else:
        move_left(9)


if __name__ == '__main__':
    run_tasks()
Упростили жизнь маленько.)
Зато 13-я и 17-я скучать не даст.
Kvark82 вне форума Ответить с цитированием
Старый 18.06.2020, 19:34   #44
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

17я:
Код:
#!/usr/bin/python3

from pyrob.api import *


@task
def task_8_27():
    while not cell_is_filled():
        move_up()
    if not wall_is_on_the_left():
        move_left()
        if cell_is_filled():
            return
        move_right()
    move_right()


if __name__ == '__main__':
    run_tasks()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 18.06.2020, 19:34   #45
Kvark82
Пользователь
 
Регистрация: 18.06.2020
Сообщений: 37
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Про 15ю. Странно, что размеры "комнаты" они зафиксировали.
Код:
#!/usr/bin/python3

from pyrob.api import *


@task
def task_8_21():
    if wall_is_above():
        move_down(9)
    else:
        move_up(9)
    if wall_is_on_the_left():
        move_right(9)
    else:
        move_left(9)


if __name__ == '__main__':
    run_tasks()
Какой вариант кошерней?

Цитата:
Сообщение от BDA Посмотреть сообщение
return
То есть return и есть сигнал закончить выполнение, так? А что он вернул тут?

Последний раз редактировалось BDA; 18.06.2020 в 19:48.
Kvark82 вне форума Ответить с цитированием
Старый 18.06.2020, 19:46   #46
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от Kvark82 Посмотреть сообщение
Какой вариант кошерней?
Ну обычно свой вариант всегда больше нравится
Цитата:
Сообщение от Kvark82 Посмотреть сообщение
То есть return и есть сигнал закончить выполнение, так?
Да. Закончить выполнение этой функции и вернуть значение.
Цитата:
Сообщение от Kvark82 Посмотреть сообщение
А что он вернул тут?
Ничего, то есть None.

Еще вариант 17ой:
Код:
#!/usr/bin/python3

from pyrob.api import *


@task
def task_8_27():
    while not cell_is_filled():
        move_up()
    if not wall_is_on_the_left():
        move_left()
        if not cell_is_filled():
            move_right(2)


if __name__ == '__main__':
    run_tasks()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 18.06.2020, 19:51   #47
Kvark82
Пользователь
 
Регистрация: 18.06.2020
Сообщений: 37
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
#!/usr/bin/python3

from pyrob.api import *


@task
def task_8_27():
while not cell_is_filled():
move_up()
if not wall_is_on_the_left():
move_left()
if not cell_is_filled():
move_right(2)


if __name__ == '__main__':
run_tasks()
Спасибо!
А про декароторы мне сейчас имеет смысл забивать голову?
Kvark82 вне форума Ответить с цитированием
Старый 18.06.2020, 19:54   #48
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

BDA
Цитата:
Ничего, то есть None.
Для ТС
В других языках есть понятие функции и процедуры.
Функции возвращают значение через собственное имя и могут вызываться в выражениях.
Процедуры не могут вызываться в выражениях.

В Python всё функции.
Функция всегда возвращает - либо ссылку на объект, либо None.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 18.06.2020, 19:56   #49
Kvark82
Пользователь
 
Регистрация: 18.06.2020
Сообщений: 37
По умолчанию

Лутц на первое время- само оно?
Kvark82 вне форума Ответить с цитированием
Старый 18.06.2020, 20:00   #50
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от Kvark82 Посмотреть сообщение
А про декароторы мне сейчас имеет смысл забивать голову?
Декораторы
Если выполнять только этот курс робота, то нет.
Цитата:
Сообщение от Kvark82 Посмотреть сообщение
Лутц на первое время- само оно?
Не знаю, не читал.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать непроходимые стены NIKOLAYY2 Общие вопросы Delphi 6 10.02.2015 14:51
Парсер для стены в ВК EndoCrinolog PHP 14 15.11.2012 02:44
API ВКонтакте - получить все записи стены MILLIONERR PHP 0 23.09.2012 16:52
GLScene проходимость сквозь стены beygul Помощь студентам 0 10.10.2011 19:12
C# Создание стены и флага(финиш)! ZaVyLoN Общие вопросы .NET 6 23.10.2010 17:23