[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:01の両方

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



いいなと思ったら応援しよう!