|
0 / 0 / 0
Регистрация: 10.01.2023
Сообщений: 5
|
|||||||||||||||||||||||||||||||
Напишите программу для робота07.02.2024, 23:15. Показов 35134. Ответов 17
Метки нет (Все метки)
Робот находится на клеточном поле без стен. Программа для робота составлена из команд движения move_right(), move_left(), move_down(), move_up() и циклов for с одним неотрицательным параметром, внутри которых может быть любое количество команд движения. Вложенных циклов в программе нет. Названия переменных цикла for — из одного символа.
Гарантируется, что программа верна, в ней нет синтаксических ошибок и могут встречаться пустые строки. Они нужны, чтобы визуально разделить код на несколько частей. Каждая команда движения перемещает робота в соседнюю клетку в соответствующем направлении. Производители робота пошли навстречу программистам и добавили четыре команды вида move_right(N), которая передвигает робота в нужном направлении на N шагов (N — положительное целое число больше 1). Последняя строка в программе — комментарий, который начинается с символа #. Других таких строк в программе нет. Эту программу для робота надо сократить и заменить её на более короткую и при этом перемещающую робота в ту же клетку. Ваша задача — написать на Python программу, которая это сделает. Вашей программе на вход даётся несколько строк на Python со строкой-комментарием в конце. Требуется вывести код программы, которая составлена по тем же правилам, что и исходная, перемещает робота в ту же клетку и имеет наименьшее возможное количество строк. Если такую короткую программу можно составить разными способами с одинаковым количеством строк, выведите любой подходящий вариант. В каждой строке ответа разрешается ставить только одну команду движения или заголовок цикла for. Шпаргалка по синтаксису: Прочитать строку: s = input() Прочитать целое число: x = int(input()) Арифметические операции: a + b, a - b, a * b, a // b (деление с округлением вниз), a % b (остаток от деления) Присваивание: a = a + 1, a = b + (c - d) // 2, s = 'ауоиэыяюеё' Вывод: print(a) — можно вывести значение любого типа. print(a, a + b, a - b) — можно вывести значения нескольких выражений, они будут разделены пробелом. Операции со строками: s1 + s2 (сложение) s * 10 (умножение на число) if s1 in s2: (проверка того, что s1 есть в s2) if s1 == s2: (проверка того, что s1 равна s2) if s1 != s2: (проверка того, что s1 равна s2) Методы строк: s.find(s1) — возвращает индекс первого слева вхождения строки s1 в строку s. Если s1 не входит в s, возвращает -1. s.rfind(s1) — возвращает индекс первого справа вхождения строки s1 в строку s. Если s1 не входит в s, возвращает -1. s.count(s1) — сколько раз s1 входит в s. s.replace(s1, s2) — возвращает строку s, в которой все вхождения s1 заменены на s2. Цикл по строке: for char in s: — переменная char создаётся для работы цикла и принимает значение каждого символа строки по очереди, слева направо. Индексы строки: s[k] символ с индексом k (индексация начинается с нуля) Цикл по строке при помощи range: for k in range(len(s)): — переменная k пробегает все индексы строки s. Цикл while: while УСЛОВИЕ: `набор команд` Ввод
0
|
|||||||||||||||||||||||||||||||
| 07.02.2024, 23:15 | |
|
Ответы с готовыми решениями:
17
Напишите программу для вычисления выражения
|
|
Любознательный
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||||||||
| 08.02.2024, 08:05 | |||||||||
|
например, проверьте, какие числа будет генерировать этот цикл:
0
|
|||||||||
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
|
||||||
| 08.02.2024, 09:00 | ||||||
1
|
||||||
|
Любознательный
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
||
| 08.02.2024, 09:10 | ||
|
Т.е. всё верно в условиях...
0
|
||
|
3 / 3 / 1
Регистрация: 18.02.2023
Сообщений: 31
|
|
| 19.02.2024, 19:42 | |
|
А как вводить ?
0
|
|
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
|
|
| 19.02.2024, 19:48 | |
|
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 20.02.2024, 08:02 | |
|
0
|
|
|
3 / 3 / 1
Регистрация: 18.02.2023
Сообщений: 31
|
|
| 22.02.2024, 11:02 | |
|
Я не понимаю как в этой ситуации вводить
Добавлено через 10 минут Там нету ввода можешь скинуть целиковый код
0
|
|
|
3 / 3 / 1
Регистрация: 18.02.2023
Сообщений: 31
|
|
| 22.02.2024, 21:20 | |
|
Оно отдельными строками вводиться ,а не сразу в программе
0
|
|
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
|
|||||||
| 22.02.2024, 22:18 | |||||||
0
|
|||||||
|
3 / 3 / 1
Регистрация: 18.02.2023
Сообщений: 31
|
|
| 22.02.2024, 22:38 | |
|
Чтобы вводилось в консоль ... строчка за строчкой
0
|
|
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
|
|||||||
| 23.02.2024, 01:29 | |||||||
А кстати, чем объясняется столь огромное количество показов данной темы (15458) ведь ей всего две недели. Другие темы со сравнимым количеством показов имеют возраст по нескольку лет!
0
|
|||||||
|
3 / 3 / 1
Регистрация: 18.02.2023
Сообщений: 31
|
|
| 23.02.2024, 11:39 | |
|
""А кстати, чем объясняется столь огромное количество показов данной темы (15458) ведь ей всего две недели. Другие темы со сравнимым количеством показов имеют возраст по нескольку лет!""
- Эта задача в олимпиаде по программирования для 7-11 классов в Яндекс учебнике.... Оно выдает ошибку почему-то: NameError("name 'x' is not defined")
0
|
|
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
|
|
| 23.02.2024, 12:42 | |
|
0
|
|
|
3 / 3 / 1
Регистрация: 18.02.2023
Сообщений: 31
|
|
| 23.02.2024, 12:52 | |
|
move_right()
move_right() move_right() move_down() for k in range(8): move_up() move_left() move_right(2) move_up(7) Проблема в том что там могут быть пустые строки и если пустая строка оно выводит результаты ... а должно с # И какой-то текст, а так выводит все правильно
0
|
|
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
|
||||||
| 23.02.2024, 12:57 | ||||||
|
cloun_zxc, ну, я ввел эту же программу, у меня сработало:
0
|
||||||
|
3 / 3 / 1
Регистрация: 18.02.2023
Сообщений: 31
|
|
| 23.02.2024, 13:04 | |
|
Я гоаорю все хорошо но оно должно не на пустую строку срабатывать а на
move_right(7) for k in range(4): move_left(2) move_up() move_down(6) # конец программы <----- Эту строку с 1 символом "#"
0
|
|
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
|
||||||||
| 23.02.2024, 15:49 | ||||||||
|
А почему вы вместо питоновского кода кракозябры какие-то печатаете? Почитайте как код вставлять в сообщения. Вот так строку с первым символом решеткой воспринимает как конец ввода:
1
|
||||||||
| 23.02.2024, 15:49 | |
|
Помогаю со студенческими работами здесь
18
Напишите программу для решения задачи Напишите программу для печати информации Напишите программу для сопоставления прошлого Напишите программу для расчета по двум формулам
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|