我试图找到一串数字的第一和第二半,如果长度为奇数,则会忽略中心数字 即 input =“102” first_half =“1” second_half =“2”
使用此代码
i = gets
first_half=i[0..(i.length / 2 - 1).floor]
second_half = i[i.length -first_half.length)..i.length - 1]
print "#{first_half}\n#{second_half}"
然而,对于此输入,输出是 10(“\ n”) 2
然而,代码在irb中正常工作。任何人都可以看到我的问题是什么?
答案 0 :(得分:2)
i = gets
返回末尾带换行符的字符串,即你的字符串是"102\n"
,因此长度为4。
答案 1 :(得分:1)
使用i=gets.chomp
答案 2 :(得分:0)
i = gets.chomp
first_half=i[0..(i.length / 2 - 1).floor]
second_half = i[(i.length - first_half.length).. i.length - 1]
print "#{first_half}\n#{second_half}"
iano:Desktop ian$ ruby stack.rb
102
1
2
你的问题(虽然有一些小的语法错误)是你必须选择(删除输入字符串末尾的“\ n”字符)。