質問: 'b': IndexError: list index out of range と出てしまいます。 教えてください!
回答: IndexError: list index out of range リストの外をアクセスしたことでエラーになったと言っています。 if sys.argv[1] == 'b': の中で、リストは、 sys.argv[1] だけです。 これはコマンドライン引数となっていて、十分の数のコマンドライン引数を与えていないことがエラーの原因だということがわかります。 ここから先はどう直すかということですが、 1つは、コマンドライン引数の数を与えていないユーザーが悪い。この挙動は仕様である。→放置 と考えるか、 2つは、足りない場合、デフォルトを与える。→A か、 3つは、足りない場合、与えてもらえるように表示をする。→B ということを検討しなければなりません。 A ``` if len(sys.argv) <2: input_argv = 'a' else: input_argv = sys.argv[1] if input_argv == 'b': .... ``` B ``` if len(sys.argv) <2: print('More Arguments!! $ python main.py argv') quit() if sys.argv[1] == 'b': .... ``` C(try~except) ``` try: if sys.argv[1] == 'b': .... except IndexError: print('More Arguments!! $ python main.py argv') quit() ```