Краплі дощу - трохи складніша версія завдання FizzBuzz, класичного питання на співбесіді.
Наше завдання - перетворити число на відповідні звуки крапель дощу.
Якщо задане число:
"Plong"."PlingPlang"."34".Цю вправу найкраще розвʼязувати за допомогою оператора % (остача від ділення) у Python, який повертає остачу від ділення додатних цілих чисел.
У нього є метод-відповідник, operator.mod(), у модулі operator.
Python також пропонує додаткові методи для обчислення остачі в модулі math.
math.fmod() поводиться як %, але працює з числами з плаваючою комою.
math.remainder() реалізує алгоритм «кроку, найближчого до нуля» для остачі від ділення.
Хоч ми й радимо ознайомитися з цими методами, жоден із них не дасть результату, що точно збігається з %, тож для цієї вправи їх не рекомендовано використовувати.
Вбудована функція divmod() також поверне остачу, що збігається з %, якщо застосувати її до двох додатних цілих чисел, але вона повертає tuple, який потрібно розпакувати.
Зареєструйтеся на Exercism, щоб вивчати й опановувати Python, а також 17 концепцій146 вправ та справжнє наставництво від людей, і все це безкоштовно.
Розгляньмо рішення з функціональними конвеєрами, множенням матриць, попередньо обчисленими табличними рішеннями з макросом, обʼєктно-орієнтованим підходом, вражаючим використанням і Python, і TCL, а також корпоративну версію.