0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 46
1

Повороты робота

02.11.2017, 22:09. Показов 6948. Ответов 31
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Робот может перемещаться в четырёх направлениях ("С" - север, "З" - запад, "Ю" - юг, "В" - восток) и принимать три цифровые команды: 0 - продолжать движение, 1 - поворот налево, -1 - поворот направо. Дан символ C - исходное направление робота и число N - посланная ему команда. Вывести направление робота после выполнения полученной команды.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2017, 22:09
Ответы с готовыми решениями:

Программирование робота
Здравствуйте, я только начал изучать робототехника и программирование. Мне нужно колеса присвоить...

Разработка класса робота
Разработать класс, описывающий перемещение робота, запоминающего свои координаты при движении....

Как с решением задачи робота с файлами
Написать функцию count_string(), которая принимает два аргумента - имя файла (т. е. путь к файлу),...

Повороты матрицы
Дана прямоугольная таблица (количество строк и столбцов таблицы заранее известно). Выполнить...

Повороты матрицы
Дана прямоугольная таблица (количество строк и столбцов таблицы заранее известно). Выполнить...

31
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
03.11.2017, 09:13 2
Python
1
2
3
4
5
6
left  = { 'n': 'w', 'w': 's', 's': 'e', 'e': 'n' }
right = { 'n': 'e', 'e': 's', 's': 'w', 'w': 'n' }
C = 'e'
N = 1
nextC = { 1: left[C], -1: right[C], 0: C }.get(N, 'Wrong command')
print nextC
Только названия сторон света на английском (n - север, и т.д.)
0
Эксперт Python
4638 / 2056 / 361
Регистрация: 17.03.2012
Сообщений: 10,139
Записей в блоге: 6
03.11.2017, 09:31 3
likehood, со словарями? Сурово. Я бы сделал просто счетчик.
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
03.11.2017, 10:00 4
Цитата Сообщение от dondublon Посмотреть сообщение
Я бы сделал просто счетчик.
Это как? Моей фантазии что-то не хватает.
0
Эксперт Python
4638 / 2056 / 361
Регистрация: 17.03.2012
Сообщений: 10,139
Записей в блоге: 6
03.11.2017, 10:06 5
likehood, ну, допустим, нулевое направление у нас будет вправо. Вот так:
Код
    1
2      0
    3
Python
1
next_dir = (curr_dir + rotate) % 4
где curr_dir - текущее направление, rotate - число (1/-1).
1
likehood
03.11.2017, 10:13
  #6

Не по теме:

dondublon, точно, что то я стормозил, а решение лежит на поверхности.

0
Эксперт Python
4638 / 2056 / 361
Регистрация: 17.03.2012
Сообщений: 10,139
Записей в блоге: 6
03.11.2017, 10:19 7
)
0
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 46
14.11.2017, 20:51  [ТС] 8
Спасибо за помощь, но мне немного непонятно, как оформить всё это в самом Питоне, помогите пожалуйста, буду признателен.

Добавлено через 1 минуту
dondublon, Спасибо за помощь, но мне немного непонятно, как оформить всё это в самом Питоне, помогите пожалуйста, буду признателен.
0
Эксперт Python
4638 / 2056 / 361
Регистрация: 17.03.2012
Сообщений: 10,139
Записей в блоге: 6
15.11.2017, 09:06 9
HARON99, там есть строчка на самом питоне.
0
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 46
15.11.2017, 20:00  [ТС] 10
dondublon, 1
next_dir = (curr_dir + rotate) % 4
Вы это имеете ввиду?

Добавлено через 47 секунд
dondublon, ввожу эту строчку и после запуска программы выдаёт ошибку, не знаю что делать

Добавлено через 45 минут
likehood, поясни пожалуйста, как довести программу до ума, никак не могу это сделать.
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
15.11.2017, 20:04 11
Цитата Сообщение от HARON99 Посмотреть сообщение
как довести программу до ума
Моя программа (сообщение #2) должна запускаться без каких-либо проблем.
0
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 46
15.11.2017, 21:21  [ТС] 12
likehood, однако это не так, выдаёт какую-то ошибку.
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
15.11.2017, 21:27 13
Цитата Сообщение от HARON99 Посмотреть сообщение
выдаёт какую-то ошибку
Скопируйте сюда текст ошибки.
0
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 46
15.11.2017, 21:27  [ТС] 14
likehood, проблема с nextC
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
15.11.2017, 21:29 15
Ах, да. Я же во втором питоне проверял. Добавьте круглые скобки вокруг nextC в последней строке.
0
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 46
15.11.2017, 21:31  [ТС] 16
likehood, Missing parenthesesin call to 'print'. Did you mean print(nextC)?

Добавлено через 1 минуту
likehood, безрезультатно, он выводит только готовое направление без введения мною одной из 3-х команд
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
15.11.2017, 21:31 17
Цитата Сообщение от HARON99 Посмотреть сообщение
Did you mean print(nextC)?
Именно это мы did mean.

Добавлено через 27 секунд
Ну добавьте ввод, в чём проблем то.
0
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 46
15.11.2017, 21:40  [ТС] 18
likehood, он выводит сразу же готовое направление без введения мною одной из 3-х команд.

Добавлено через 20 секунд
likehood, сейчас попробую

Добавлено через 7 минут
likehood, всё равно безуспешно, она не работает должным образом
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
15.11.2017, 21:44 19
А так
Python
1
2
3
4
5
6
7
8
left  = { 'n': 'w', 'w': 's', 's': 'e', 'e': 'n' }
right = { 'n': 'e', 'e': 's', 's': 'w', 'w': 'n' }
print('Enter direction (n, w, s or e) ')
C = raw_input()
print('Enter turn (1, -1 or 0) ')
N = int(raw_input())
nextC = { 1: left[C], -1: right[C], 0: C }.get(N, 'Wrong command')
print nextC
0
0 / 0 / 0
Регистрация: 19.10.2017
Сообщений: 46
15.11.2017, 21:47  [ТС] 20
likehood, выводит такую ошибку в окне запуска программы: Traceback (most recent call last):
File "C:/Users/ED/Desktop/231.py", line 4, in <module>
C = raw_input()
NameError: name 'raw_input' is not defined
0
15.11.2017, 21:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2017, 21:47
Помогаю со студенческими работами здесь

Робота со строкой
Здраствуйте! Нужно проверить есть ли слова НАПРИМЕР: &quot;хайп&quot; в масиве такого типа: Должно...

Робота с файлами
В файл записано 3 числа, мне нужно 2 первых сложить и отнять от рузультата третье число.Помогите!

Программирование робота
Ученик IT-класса Леонид собирается участвовать в соревновании по робокёрлингу. Для этого он собрал...

Сообщения для робота
Ребят, помогите, пожалуйста, не могу понять, что хотят в этой задаче.... ИИ совершил апгрейд...

Функция перемещения робота
Нужна функция getLocation, которая будет принимать массив начальных координат coordinates (в виде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru