【Python】if文とfor文を使わずにFizzBuzzをやってみよう

正直最近までFizzBuzzの存在を知りませんでした

この記事を三行にまとめると

if文を使わずにFizzBuzz
if文とリストを使わずにFizzBuzz
if文、リスト、for文を使わずにFizzBuzz
この記事は以下の動画の中に出てきたサンプルコードを載せたものです。コピペなどが必要なときに使ってください。





if文を使わないコード

lists = ['FizzBuzz', ' ', ' ', 'Fizz', ' ', 'Buzz', 'Fizz', ' ', ' ', 'Fizz', 'Buzz', ' ', 'Fizz', ' ', ' ']

for i in range(1, 31):
  word = lists[i % 15]
  print(word.replace(' ', str(i)), end=' ')



if文とリストを使わないコード

import re

for i in range(1, 31):
  remain = str(i % 15)
  word = re.sub('^3|6|9|12', 'Fizz', remain)
  word = re.sub('5|10', 'Buzz', word)
  word = re.sub('0', 'FizzBuzz', word)
  print(word.replace(remain, str(i)), end=' ')



if文、リスト、for文を使わないコード

import re

def FizzBuzz(i):
  remain = str(i % 15)
  word = re.sub('^3|6|9|12', 'Fizz', remain)
  word = re.sub('5|10', 'Buzz', word)
  word = re.sub('0', 'FizzBuzz', word)
  print(word.replace(remain, str(i)), end=' ')

  func = 'FizzBuzz' + str(i)
  func = func.replace('30', 'Last')
  func = func.replace(str(i), '')

  i += 1
  eval(func)(i)

def FizzBuzzLast(i):
  return

FizzBuzz(1)
 もしかしたら何か関連しているかも? 
 質問や感想などお気軽にコメントしてください