質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1704閲覧

IndexError: list index out of range

uuuiii

総合スコア11

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/03/15 08:53

編集2018/03/15 08:59

if sys.argv[1] == 'b':
if last >= (entryPrice + CLOSE_RANGE):
print('Close!')
sys.exit()
elif last <= (entryPrice - STOP_RANGE):
market('sell', LOT)
print('Loss Cut!')
order = bitmex.cancel_order(closeId)
print('Cancel: ' + order['info']['ordType'] + ' ' + order['info']['side'] + ': ' +
str(order['info']['orderQty']) + ' @ ' + str(order['info']['price']) + ' / ' + order['id'])
sys.exit()

が、

Traceback (most recent call last):
File "./uichi.py", line 25, in <module>
if sys.argv[1] == 'b':
IndexError: list index out of range

と出てしまいます。
教えてください!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uuuiii

2018/03/25 07:59

ありがとうございました!解決しました!!!
guest

回答1

0

ベストアンサー

IndexError: list index out of range

リストの外をアクセスしたことでエラーになったと言っています。

if sys.argv[1] == 'b':

の中で、リストは、

sys.argv[1]

だけです。

これはコマンドライン引数となっていて、十分の数のコマンドライン引数を与えていないことがエラーの原因だということがわかります。

ここから先はどう直すかということですが、
1つは、コマンドライン引数の数を与えていないユーザーが悪い。この挙動は仕様である。→放置
と考えるか、
2つは、足りない場合、デフォルトを与える。→A
か、
3つは、足りない場合、与えてもらえるように表示をする。→B
ということを検討しなければなりません。

A

python

1if len(sys.argv) <2: 2 input_argv = 'a' 3else: 4 input_argv = sys.argv[1] 5 6if input_argv == 'b': 7 ....

B

python

1if len(sys.argv) <2: 2 print('More Arguments!! $ python main.py argv') 3 quit() 4 5if sys.argv[1] == 'b': 6 ....

C(try~except)

python

1try: 2 if sys.argv[1] == 'b': 3 .... 4except IndexError: 5 print('More Arguments!! $ python main.py argv') 6 quit()

投稿2018/03/15 09:08

編集2018/03/15 11:03
mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uuuiii

2018/03/15 09:20

なるほど。 初心者なりに本を見ながらやっていました。 勉強になりました! とりあえず放置して見ます! またわからなかったらお願いします! ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問