雨粒は、面接の定番の質問であるFizzBuzzチャレンジを、少し複雑にしたものです。
ここでの課題は、数値を対応する雨粒の音に変換することです。
与えられた数値が次の場合を考えます。
"Plong"になります。"PlingPlang"になります。"34"になります。この演習は、Pythonの%(余り)演算子を使うと最もきれいに解けます。この演算子は、正の整数の除算の余りを返します。
同じ働きをするメソッドとして、operatorモジュールのoperator.mod()もあります。
Pythonには、mathモジュールにも「余り」を求めるメソッドがいくつか用意されています。
math.fmod()は%と似た動作をしますが、対象となるのは浮動小数点数です。
math.remainder()は、除算の余りを求める「0に最も近い値へ」というアルゴリズムを実装しています。
これらのメソッドに親しんでおくことはおすすめしますが、どちらも%の結果とは正確に一致しないため、この演習で使うことはおすすめしません。
組み込み関数divmod()も、2つの正の整数に使えば%と一致する余りを返しますが、展開が必要なtupleを返します。