Screaming Loud

日々是精進

即興プログラミング

つい先日、医学部の友達と旅行に行ってきた。
飲んでいたら医学系のちょっとした豆知識とかも教えてもらい楽しませてもらった。
そんな中、「パソコンでなんか作れるの?」という質問がきた。
まぁありがちだが、医学部の友達はグーグルのGUIでWebサイトとかも作っているようでどんなものが面白いのかなーと考えた。

  • 話の流れ的に1分くらいで作れるもの
  • 簡単だが、インパクトがあるもの

で考えたところ、fizzbuzzが簡単だなーと思い、作り始めたが単に文字の羅列だと面白くないので音を出してみた。

これが、案外ウケたので載せてみる。

#-*- coding:utf-8 -*-
import time
import subprocess

for x in range(50):
    if x%3==0:  subprocess.call('say ah-ho',shell=True)
    elif x%5==0: subprocess.call('say baka',shell=True)
    else: subprocess.call('say '+str(x),shell=True)
    time.sleep(0.5)

あまり知られていない(?) sayコマンドというものがあり、これは引数の文字列を発音してくれるのだ。
このsayコマンドを使えば、即興でインパクトがあるものを作れると思うので、ぜひ試してみてはどうだろうか。