作者: 機械伯爵
日時: 2005/11/29(08:40)
 ども、機械です。

 今週はパニック状態でアップしたので、打ち出しチェックさえせず、
見苦しいモノを皆さんに見せてしまいまして申し訳ありませんでした。

 こちらは修正効かないのだから、一日置いて落ち着いてから送れば
よかったと後悔しています。

> キノコ好きの女の子…どこかで聞いたような…くじアン?

 きのこ好きなのではなく、単に趣味がちょっと変わってる女の子です(汗)

※くじアンの小説書いてる横手某は、小説もマジレンジャーの脚本も
 どっちも私の好みから大ハズレ。
 
> それはさておき、break, continue の説明にはあまり良い例ではなかったんじゃ
> ないかという気がします。完全バージョンの中の
> 
> while 1:
>   dispstr = ''.join(disp)
>   if dispstr == card:
>     break
> 
> というのは、
> 
> while ''.join(disp) != card:
> 
> ということですし、continue は不要じゃないですか。
> # i0==i1 のところでカウンターを回さないなんて設定にすれば continue の
> # 意味が出てくる例になり得ますが。

 そうですね。
 このコード、何回か改良していて、disstr == ''.join(disp)は書いた
当初は最後に入ってたのでその名残です。
 ですが、カウンターを回さないというアイディアは、有難く頂戴します
(いや、実はペナルティーでカウンタを回してたのですが、ゲーム性より
continueの説明のほうが重要ですしね)
 
> 身近なプログラム初心者を見ていると、while で無限ループにするのは簡単な
> のでとにかくループと言えば while 1 と書き始めてしまったりします。そう
> いう意味でそれを推奨するような今回の話は若干疑問を感じなくもないです。

 いちおうPythonのwhile 1:は単純gotoに最適化されるそうなので、それでも
いいかな、と思うのですが。

 実は最初は構造化に従って入り口/出口一つにして、フラグ管理してたのです
が、Pythonにはdo-untile文が無いので、かえって面倒になったので、最終的に
こんな格好になりました。

 最終的にはコードを整理しなければならないので、最終版のコードは手直し
して無限ループはやめようと思いますが、まず頭を使ってコードを書き出すと
いう段階では、無限ループを多用してでも『自分の頭で考える』ことが重要
だと思うのですが、いかがでしょう?(GOTOよりはマシかと)

> 以下いつもの。

 訂正しておきます。毎度すみません。

 /機械伯爵/