[Python-ml-jp 2797] Re: シーケンスは

大瀧 明 VZP03113 @ nifty.ne.jp
2004年 2月 20日 (金) 13:44:08 JST


 箱と玉の例をみて感じたのですが、こー、1から1000までの合計を求める
ことを考えると、以下のような感じでしょうか。

Python
まず、1〜1000までの番号を振った玉を計1000個用意して、それを
箱に入れる。もう、玉をいくつ準備したかは忘れても良く、箱から出しながら、
取り出した玉に書いてある値を足す。玉が亡くなったら終わり。
# 物に置き換えると1から順に出てくるのは不思議だ・・・
# 実装としてはxrangeがありますが、あくまで実装上の都合なので考慮
# していません。しいて言うと、「取り出すたびに値が増える玉を、
# 見終わったら入れなおす。1000のとき入れなおすと玉が消える」
# という感じでしょうか?

Cとか
通行量調査に使うようなカウンタを用意します。最初、1に設定しておいて、
その後、「カウンタを見て、その値を足す」を繰り返します。その際、毎回
カウンタの値をみて1000を超えてないか確認する必要があります。
# Cの変数による制御はobjectが増えるわけではないのでこう考えました。

回数を問題にするケースや、カウンタ変数の値をそのまま利用するような
ケースではCやBASICの方が解りやすく感じるのですがどうでしょうか。

なお、上記ケースではない場合、つまり、もともと箱に入っている玉を取り出し
ながら玉を参照・加工する場合には、Pythonのほうがかなりスマートです。

 個人的な感想では、手段が同じにできるとしても、目的が違うものを、
1つにまとめて実装している印象をうけます。



Python-ml-jp メーリングリストの案内