Pythonで宝くじをあてよう #2

関数を使おう

どんなプログラムにせよ、一連の作業をひとまとめにして関数とする。
Pythonも同様だが、その姿は全く同様ではない。

普通は関数は

void func1(int nn)
{
        ・・・・・
         return(f);
}

等のように始まり'{‘と終わり’}’がある。

しかし、Pythonの関数はif文やwhile文あるいはfor文も同様で

for  i in data:
         処理1
         処理2

ここで終わり、はじめは何となくわかるが、終わりがわからない。
ドアを開けて閉めずに行ってしまう、行儀の悪い奴、みたいな感じ。

関数も同じで、

def   func(aaa):
        処理1
        処理2
        return  nn

returnがあるので、終わりといえば終わりだが、なんか尻のすわりが悪い。

だが、これが仕様だからしかたない。
後での話になるが、returnで返す戻り値の型がなんとも便利なようで、いい加減なようで・・・まったく面白い言語である。

さて、本編の最初の関数は、ファイルからデータを読んで、箱の中に入れる。
箱の容量は、6×2000とし、グローバル変数(そんな定義もないのかも)とする。
つまりデータはどこからでも見ることができるようにしておく。

import csv  データファイルはCSV形式で読むのでライブラリをインポートする
n = 2000
m = 6test_data = [[0]*m for i in range(n)]

//データを読み込む関数
def dataload():
       データの読み込み
       return numn

numn = dataload()            //データの読み込み関数を呼ぶ
for i in range(numn):       //読み込んだデータを表示する
       v1 = test_data[i]
      print(v1)

のようになる。defで始まる関数は、呼ばれて実行するので、どこにあっても構わない。・・・・が、Pythonの場合は、インタープリターで、いわばOne Pathだから、呼ばれる実行文より前にある必要があるのかな、調べておこう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です