我正在打高尔夫球(使用最少的字符数),并且有以下工作的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个字符)-始终打印“ false”
a=gets.upcase
b=gets.upcase
p (b*2).include? a
通过我能想到的示例,Ruby代码可以正常工作,但是由于某些原因,它在代码高尔夫网站(codingame.com,该问题由用户“ 10100111001”提出)上无法正常工作。
答案 0 :(得分:1)
在Ruby中,gets
的末尾包含\n
。您必须先.chomp
,然后再做任何事情。
a=gets.chomp.upcase
b=gets.chomp.upcase
p (b*2).include? a
顺便说一下,这不是“告诉我们是否有可能通过旋转另一根弦来获得一根弦”的正确方法,只能部分解决问题,希望您知道。