轨道
/
jq
jq
/
练习
/
雨滴
雨滴

雨滴

简单

简介

雨滴是 FizzBuzz 挑战的稍微复杂一点的版本,这是一个经典的面试题。

说明

你的任务是把一个数字转换成它对应的雨滴声。

如果给定的数字:

  • 能被 3 整除,就在结果中加上 "Pling"。
  • 能被 5 整除,就在结果中加上 "Plang"。
  • 能被 7 整除,就在结果中加上 "Plong"。
  • 不能被 3、5 或 7 整除,结果就应该是这个数字的字符串形式。

示例

  • 28 能被 7 整除,但不能被 3 或 5 整除,所以结果是 "Plong"。
  • 30 能被 3 和 5 整除,但不能被 7 整除,所以结果是 "PlingPlang"。
  • 34 不能被 3、5 或 7 整除,所以结果是 "34"。
Note

判断一个数能否被另一个数整除,一种常见做法是比较余数或模是否为零。 大多数语言都为其中一种(或两种)提供了运算符或函数。

jq技巧

在这个练习里,if-then-else表达式会很有帮助。

例如:

8, 10, 12 | if . < 10 then "\(.) is less than ten"
            elif . > 10 then "\(.) is more than ten"
            else "\(.) equals ten"
            end

输出

"8 is less than ten"
"10 equals ten"
"12 is more than ten"
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
jq Exercism

准备好开始 雨滴 了吗?

注册 Exercism,借助 12 个概念75 个练习 和真人导师指导,学习并掌握 jq,全部免费。

深入探索 雨滴!

探索各种解法:函数式管道、矩阵乘法、用宏实现的预计算查表法、面向对象方法、Python 和 TCL 的一些精彩用法,以及一个企业版。