仮想通貨自動売買botを作ろうシリーズ_08---プログラムをループさせよう

※以降は全て、windows10を前提にお話しています。
※不明な所は、都度ググって確かめる癖をつけておきましょう。
※読んでみて価値が無いと思われた方は、「返金申請」をしてください。

前号はこちら


<基本的にループし続けたい時はwhile命令を使う>

プログラムを書く上で、必ずと言って良いぐらいに出てくるループ命令について説明します。
いきなりコードを書いてみましょう。
「test8.py」の中身を下記にしてください。

「import time」
「import datetime」
「」
「while True:」
「    print(datetime.datetime.now()) # print命令の前は、4個の半角スペースを入れる」
「    time.sleep(3)」

それでは早速実行してみましょう。

「c:\bot>python test8.py」
「2020-03-02 09:43:14.366860」
「2020-03-02 09:43:17.378280」
「2020-03-02 09:43:20.391980」
「2020-03-02 09:43:23.392774」
「延々と止まらない。。。」

おかしくないですか?
いつまでたっても「c:\bot>」に戻ってきませんよね?
そうです、プログラムが「ループし続けて、まだ終了していない」んです。

ここで、「プログラムの緊急停止方法」を覚えておきましょう。
「ctrl」と「C」を同時押ししてください。

「延々と止まらない。。。」
「2020-03-02 09:43:26.407417」
「Traceback (most recent call last):」
「 File "test8.py", line 6, in <module>」
「 time.sleep(3)」
「KeyboardInterrupt」
「」
「c:\bot>」

エラーが出て止まりました。
最後の行は、「KeyboardInterrupt」と出ていますね。
キーボードからの割り込みが入ったのでエラーが出た様です。

少しだけややこしいのですが、元々「キーボードからの割り込みを想定していないプログラム」なので、キーボードからの割り込みが入った事で、「エラー停止」しています。
これを、「キーボードからの割り込みを想定して」プログラムを作る事も可能で、上手くすれば大事なデータを途中中断で壊すことなく、安全に停止させることも可能です。
いずれ、そういった方法もお話する機会があるかと思います。

とりあえず今回は、「ctrl」と「C」を同時押しして、緊急停止できると覚えておきましょう。
プログラムの書き方によっては、1回だけじゃ止まらない事もありますので、止まらない時は2~3回連打しちゃってください。
そもそもが、「無理やりエラー出して止めている」ので、右上の×で閉じるのと被害の程度は同じです。

いつもの様に脱線しましたが、元に戻ります。
while命令なんですが、「whileの後に書いた条件が『True』なら、『ifの時と同じように、半角スペース4個ずらしたコードを』繰り返す」んです。

分かりにくい文章ですよね。
整理します。

「条件のTrue」について。
これはとても簡単です。
「if」の時と同じように、後ろに続く条件が「True」なら実行されるだけです。
今回は、「そのものズバリの『True』と書いている」ので、「無条件に繰り返す」プログラムになっています。
注意しないといけないのは、bool型(既に説明済みですよね)のTrueとFalseの頭の文字は「大文字」にしておかないといけません。
うっかり小文字にしていると、「変数と勘違い」されてしまいます。

話を戻して、なので「while False:」と書くと、「絶対に実行されない命令」になってしまいます。
とりあえずコードを書いておいて、後で有効(True)にしようぐらいしか、私の頭では使い道を想像できません。


以降の有料部分に書かれているのは、
<whileに条件式を入れてみよう>
<無限ループから抜け出すには>


※※※無料※※※

ここから先は

3,515字

¥ 100

この記事が気に入ったらサポートをしてみませんか?