PythonによるFizzBuzz問題の(個人的に好きな)解答例です。
def fizzbuzz(num: int) -> str:
result = ''
if num % 3 == 0:
result += 'Fizz'
if num % 5 == 0:
result += 'Buzz'
if result == '':
result += str(num)
return result
if __name__ == '__main__':
for i in range(1, 101):
print(fizzbuzz(i))
unittestでのテストコードは以下のようになります。
import unittest
from fizzbuzz import fizzbuzz
class FizzBuzzTest(unittest.TestCase):
def test_number(self):
self.assertEqual('1', fizzbuzz(1))
def test_fizz(self):
self.assertEqual('Fizz', fizzbuzz(3))
def test_buzz(self):
self.assertEqual('Buzz', fizzbuzz(5))
def test_fizzbuzz(self):
self.assertEqual('FizzBuzz', fizzbuzz(15))
if __name__ == '__main__':
unittest.main()
参考
- FizzBuzz問題の問題文 | miraiportal
https://www.miraiportal.com/fizzbuzz-question/