我一直在尝试使用Python了解FizzBuzz问题,我发现这很容易,因此决定增加一层额外的复杂性。
我的问题是:我还将如何使该程序也为同时包含3或5的任何数字打印“ Fizz”或“ Buzz”。
我不确定是否应该继续将其转换为字符串,然后将其拆分并比较字符串,或者是否缺少我想更有效地解决此问题的功能
我当前的代码显示在下面:
WHEN NOT MATCHED BY RL THEN
答案 0 :(得分:0)
最简单,最直接的方法之一就是将数字转换为字符串。
解决方案:
for fizzBuzz in range(0, 100):
three = fizzBuzz % 3 == 0 or "3" in str(fizzBuzz)
five = fizzBuzz % 5 == 0 or "5" in str(fizzBuzz)
if three and five:
print("FizzBuzz")
elif five:
print("Buzz")
elif three:
print("Fizz")
else:
print(fizzBuzz)