Эммикэт
20.08.2022 07:21

Нужно понять и сделать программу на питоне! Точнее - описать нужные функции. Названия не менять, также не должно быть файлового ввода вывода. 2055 год. Программа SpaceY отправляет космические экспедиции на окраины Солнечной системы. Для исследования планет используют роботов модели Rover-12, они хранят в памяти карту местности и свободно передвигаются по заданному маршруту. На случай экстренных ситуаций роботы поддерживают связь со станцией и оператором.

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

Ты - оператор специальной группы и должен вышедшему из строя Rover-12 прибыть на станцию.

У тебя уже есть образец кода для настройки робота, но там не хватает нескольких функций, которые нужно дописать самостоятельно.

Каждую функцию проверит Куратор, это автоматизированная система, защищающая тонкий ИИ Rover-12 от вредоносного или ошибочного кода.

После проверки код можно перенести в итоговый файл rover12.py и запустить.

def genererate_positon() -> tuple:
...

def is_rover_arrived(rover_pos: tuple, station_pos: tuple) -> bool:
...

def get_direction(rover_pos: tuple, station_pos: tuple) -> str:
...

def move_rover(rover_pos: tuple, command: str) -> tuple:
...

def check_program(rover_pos: tuple, station_pos: tuple, commands: list) -> bool:
...

def run_test():
print("Тестовый запуск №")
start_pos = (0, 0)
rover_pos = start_pos

station_pos = genererate_positon(10)
print(f"1. Целевые координаты станции: {station_pos}")

print("2. Инициализация памяти программы...")
commands = []

print("3. Начинаем ввод команд...")

while not is_rover_arrived(rover_pos, station_pos):
print(f'#ТЕКУЩАЯ ПОЗИЦИЯ ПЛАНЕТОХОДА - {rover_pos}')
direction = get_direction(rover_pos, station_pos)
print(f"#ЦЕЛЕВОЕ НАПРАВЛЕНИЕ - {direction}")
print("#ВВЕДИТЕ КОМАНДУ")
command = input(">> ")
if command == "КОНЕЦ":
break
rover_pos = move_rover(rover_pos, command)
commands.append(command)

print("5. Ввод команд завершен...")

print("6. Запускаем верификацию программы...")
result = check_program(start_pos, station_pos, commands)

if result:
print("7. Верификация программы успешно! Тест пройден!")
else:
print("7. Внимание! Ошибка верификации!")

run_test()

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ecuzera2611
01.10.2021 11:47

1) Адреса у ячеек в Excel используются, в основном, в формулах. Однако возможно и другое их применение. В любом случае адреса у ячеек нужны для того, чтобы к этим ячейкам можно было обратиться, что очень удобно при автоматизации ряда выполняемых в Эксель операций.

2)В формулах EXCEL можно сослаться на значение другой ячейки используя ее адрес (=А1). Адрес ячейки в формуле можно записать по-разному, например: А1 или $A1 или $A$1. То, каким образом вы введете адрес в формулу, будет зависеть, как он будет модифицироваться при ее копировании в другие ячейки листа.

3)Абсолютная ссылкаОтносительная ссылкаВ программе ExcelПредставляет собой вписанную в ячейку формулу, которая не меняется при копировании содержимого данной ячейки в другую часть таблицыПредставляет собой формулу, которая меняется при копировании содержимого ячейки, в которую она вписана, в другую часть таблицы — в ней прописываются новые координаты синхронно изменившемуся положению ячейки

5)Изменение формата с окна «Формат ячеек»Править

Общие сведения запуска ...Формат «Общий» см. ...Формат «Числовой» можно настроить число десятичных знаков, автоматически добавляемых после запятой; ...Формат «Денежный» ...Формат «Финансовый» ...Формат «Дата» ...Формат «Время» ...Формат «Процентный»

0,0(0 оценок)
Ответ:
НастяБлог
01.10.2021 11:47

Лестница с перилами:)

Создаем прямоугольник, для этого используем Shapes (rectangle)

• С инструмента Push/Pull, создаем из нашего прямоугольника параллелепипед.Теперь используем  Lines для того, чтобы разделить наш параллелепипед на 8 одинаковых частей. Прежде всего, нужно разделить одну из граней на 2 половины (точка середины голубого цвета), потом эти половины еще на половинки и так далее.Берем инструмент Push/Pull, и отодвигаем каждую из ступенек,как показано на рисунке.Создаем окружность Shapes (сircle) и поднимаем ее на нужную высоту Push/Pull. Выделяем Select и копируем, для этого зажимаем ctrl+C. зажимаем ctrl+V и используем Move, чтобы перенести столбы на ступеньки, это действие повторяем 8 раз.Выделяем нашу половину Select, копируем  ctrl+C и вставляем ctrl+V. Теперь используем инструмент Scale, чтобы отзеркалить скопированную половину.Перемещаем одну из половин ко второй(Move)Стираем линию середины Eraserом.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота