Menu
CoddyTech

单词分析

本课属于 Coddy Ruby 学习旅程的“逻辑与流程”单元。第 54 课,共 56 课。

一个综合挑战,会同时用到字符串、哈希、Hash.new(0) 和 Enumerable 方法。

challenge icon

挑战

中等

读取一行输入,也就是一个句子。分析它并打印三行:

  1. 不同单词的数量(不区分大小写,并去掉标点符号)。重复的单词只计一次。
  2. 重复出现的单词(出现次数超过一次),按字母顺序排序,并用 , 连接。如果没有,则打印 (none)。
  3. 回文词,也就是正着读和倒着读都相同的单词,长度 ≥ 2,按字母顺序排序,并用 , 连接。如果没有,则打印 (none)。

处理前,从每个单词中去掉字符 .,!?:;"()。比较时将所有内容转换为小写。

对于输入 Madam saw a racecar. Dad said hello hello to mom.,输出为:

9
hello
dad, madam, mom, racecar

亲手试试

input = gets.chomp

# TODO:拆分文本,去掉标点,转换为小写,然后打印:
#   不同单词的数量、重复的单词、回文词(长度 >= 2)
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Ruby 在线编译器