はじめに
進捗どうですかがブームらしい
「進捗・どう・です・か」をランダムに表示し「進捗どうですか」が完成したら煽ってくるClojure
「進捗・どう・です・か」をランダムに表示し「進捗どうですか」が完成したら煽ってくるプログラム
「進捗・どう・です・か」をHaskellで書いてみた
進捗どうですかブーム?にrubyでのっかってみる
というわけで
Pythonで書いてみました.ただ書くのもアレなので,普段殆ど使わない(リスト内包表記が便利すぎて)lambda式を意味もなく使ってみました.
コード
shinchoku.py
#coding: utf-8
import random
li = ["進捗","どう","です","か"]
LI_RAND_LENGTH = len(li)-1
CHECK_NUM = -len(li)
ret = []
itr = 0
shinchokuStr = lambda : li[random.randint(0,LI_RAND_LENGTH)]
appendShinchoku = lambda l : l+[shinchokuStr()]
last4Strs = lambda l : "".join(l[CHECK_NUM:])
loopCheck = lambda x, y : last4Strs(x) == last4Strs(y)
while(not loopCheck(li,ret)) :
ret = appendShinchoku(ret)
itr += 1
print ret[-1],
print "\n"+str(len("".join(ret))/3)+"文字で煽られました"
実行結果
$ python shinchoku.py
です どう か か です 進捗 どう です どう か です です か どう か どう 進捗 です どう どう 進捗 進捗 です です 進捗 どう です どう 進捗 です か 進捗 進捗 進捗 か どう です どう か か どう 進捗 です です 進捗 どう どう 進捗 進捗 進捗 です 進捗 か どう か か か か です どう か どう です か か です です 進捗 どう 進捗 です です か どう か か 進捗 進捗 進捗 か どう か 進捗 進捗 進捗 です 進捗 です どう どう か 進捗 どう か どう 進捗 です どう どう か か 進捗 です か どう 進捗 です どう 進捗 どう どう 進捗 進捗 です 進捗 です か 進捗 です どう 進捗 どう です どう どう どう です 進捗 進捗 進捗 どう どう 進捗 進捗 どう か 進捗 どう 進捗 どう どう です です 進捗 進捗 です どう か か です どう か か 進捗 です か どう 進捗 です です か か です 進捗 です どう です 進捗 です どう どう どう か です か か です か です 進捗 か どう 進捗 進捗 か どう か 進捗 どう か どう か どう どう 進捗 進捗 どう か か どう です どう です です か か 進捗 進捗 か か 進捗 です です どう 進捗 です か か か です です 進捗 進捗 です どう 進捗 進捗 です 進捗 進捗 進捗 です どう 進捗 進捗 か か か か 進捗 です 進捗 か 進捗 か です どう 進捗 です どう か どう どう か 進捗 進捗 どう です どう です 進捗 か どう か 進捗 進捗 どう か です 進捗 か か どう 進捗 です です 進捗 か 進捗 か です です どう どう です か です です です 進捗 です どう か か どう どう 進捗 です どう どう どう です 進捗 です どう か どう か です 進捗 どう 進捗 進捗 か です か か か か か か です です 進捗 進捗 どう か です か です です です どう か 進捗 どう か 進捗 です です か です です か です です 進捗 進捗 か どう か か どう か か です です です どう 進捗 進捗 進捗 どう か 進捗 です 進捗 か か 進捗 どう どう 進捗 どう です か
656文字で煽られました
感想
lambda式楽しい.そういえば,Haskell勉強するとかどうとか言ってたので,勉強したい.あと,Pythonの文字列の長さが文字コード(?)関係で色々あるらしいbyte数とかなんとか.とりあえず,動いたのでマジックナンバー入れておきました.