2015年11月15日日曜日

【プログラミング】Pythonの勉強 その4 - コマンドライン引数を使う -

プログラミング初心者の学習記録です。
今回は前回作ったプログラムの変数をコマンドライン引数で受け渡してみようと思います。

前回作ったプログラムの内容は、
  ・1からnまでの数を数える
  ・aの倍数とaのつく数字(条件1) → 「だぴょーん!」と表示
  ・bの倍数とbのつく数字(条件2) → 「なのです!」と表示
  ・条件1と条件2の両方を満たす数字 → 「だぴょーんなのです!」と表示
というものです。

今回のプログラムのコマンドライン引数は、n、a、bの3つです。




目的のプログラムを書く前に、コマンドライン引数に数字を指定したときの挙動を確認したいと思います。
以下のような、テストのためのプログラム「argv_test.py」を使ってみます。
1
2
3
4
5
6
7
8
9
import sys

n = sys.argv[1]
a = sys.argv[2]
b = sys.argv[3]

print n + b
print a + b
print n + a
syntax2html

これを次のように実行すると、
 >python argv_test.py 1 2 3

以下のような結果になりました。
 13
 23
 12

つまり、コマンドライン引数で数字を入力すると、文字列として取り込まれるということです。


さて本題のプログラム作成に移ります。プログラムの名前は「dapyoon_run.py」としておきます。
このプログラムはコマンドライン引数で入力した内容を数字に直し、前回作った「dapyoon_class.py」に渡して実行するというものです。
内容は次の通りです。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import sys
import dapyoon_class

n = int(sys.argv[1])
a = int(sys.argv[2])
b = int(sys.argv[3])
#intで文字列を整数に直す

dap = dapyoon_class.Dapyoon_class(n,a,b)
dap.count()
syntax2html

n = 80 、a = 5 、b = 7 で実行してみます。
>python dapyoon_run.py 80 5 7

結果は次のとおり。

0 件のコメント:

コメントを投稿