[Python]長方形の面積・周囲長をargparseモジュールで求めてみる
1.argparseモジュールを使ったスクリプト
argparseモジュールを使い長方形の面積・周囲長を求めます。スクリプトに渡す引数には2辺の長さと、なんの情報が欲しいかを伝えるフラグです。
2.コード
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("width", help="長方形の縦の長さ", type=int)
parser.add_argument("height", help="長方形の横の長さ", type=int)
parser.add_argument("flag", help="0:面積/1:周りの長さ/2:0と1の両方", type=int)
args = parser.parse_args()
#面積
area = args.width * args.height
#周りの長さ
perimeter = 2 * (args.width + args.height)
result = {
0: {"面積": area},
1: {"周囲長": perimeter},
2: {"面積": area, "周囲長": perimeter}
}
for k, v in result[args.flag].items():
print(f"{k}:{v}")
3.実行結果
-h(help)をつけての実行
NobinoMacBook-puro:practice nobi$ python3 rectangle_argparse.py -h
usage: practice_argparse.py [-h] width height flag
positional arguments:
width 長方形の縦の長さ
height 長方形の横の長さ
flag 0:面積/1:周りの長さ/2:0と1の両方
optional arguments:
-h, --help show this help message and exit
NobinoMacBook-puro:practice nobi$ python3 rectangle_argparse.py 10 5 0
面積:50
NobinoMacBook-puro:practice nobi$ python3 rectangle_argparse.pyy 10 5 1
周囲長:30
NobinoMacBook-puro:practice nobi$ python3 rectangle_argparse.py 10 5 2
面積:50
周囲長:30