Axon interfaces may need compact, rule-based labels for ordered event values. Implement an extensible version of FizzBuzz that supports the classic rules and additional divisibility rules without changing the algorithm.
Write fizz_buzz(n, rules=None) to return a list containing one result for every integer from 1 through n.
n is a positive integer.rules is either None or a list of two-element lists, where each pair contains a positive divisor and its string label, such as [3, "Fizz"].rules is None, use [[3, "Fizz"], [5, "Buzz"]].def fizz_buzz(n, rules=None):