Строка включает странное поведение - PullRequest
0 голосов
/ 19 ноября 2018

Я занимался гольф-кодом (используйте минимальное количество символов), и у меня было следующее рабочее решение Python. Я пытался сократить свой код, переписав его в Ruby, но мой код Ruby всегда будет печатать false.

Код должен был прочитать две строки, игнорировать регистр и сообщить, можно ли получить одну строку, вращая другую строку. Выход должен был быть либо true, либо false. Ты хоть представляешь, что я сделал не так в Ruby?

Python 3 (64 символа) - Работы

a=input().lower()
b=input().lower()
print(str(a in 2*b).lower())

Ruby (47 символов) - всегда печатает "ложь"

a=gets.upcase
b=gets.upcase
p (b*2).include? a

С примерами, которые я могу придумать, код Ruby работает правильно, но по какой-то причине он не работал на сайте гольфа кода (codingame.com, проблема была предложена пользователем "10100111001").

1 Ответ

0 голосов
/ 19 ноября 2018

В Ruby gets включает \n в конце. Вам придется .chomp убрать его, прежде чем что-либо делать.

a=gets.chomp.upcase
b=gets.chomp.upcase
p (b*2).include? a

Кстати, это не правильный способ «сказать, можно ли было получить одну строку, вращая другую строку», это только частично решает проблему, надеюсь, вы знаете это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...