【第4回】SikuliXで繰り返し処理を学ぼう

こさい
こさい

こんにちは。完全自動化研究所の小佐井です。
RPAとプログラミングの基礎を身に付ける連載の第4回です。

Sikuliで学ぶRPA超入門の第4回です。いままで、「Hello」と1回だけ入力させていましたが、今回は5回書かせます。プログラム基礎構造の最後章「繰り返し処理」です。

この記事は第3回目の続きとなっています。第3回目を実践していない方は次の記事をお読みください。

それでは、どうぞ!

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。RPA支援8年超
2) RPA関連の書籍を6冊出版。
3)ご質問・お仕事のご依頼はこちら

繰り返し処理を学ぼう

こさい
こさい

さっそく開発を始めていきましょう!
まずは準備です。

まず準備をしましょう

準備1:別名で保存しましょう

前回で使ったプログラムを変更して使いますが、区別するために別名で保存します。SikuliX開発画面のメニュー「ファイル」をクリックし(図1➊)、「名前を付けて保存」をクリックします(図1❷)。

【Hint】前回の続きではない場合

図1 名前を付けて保存

図2のポップアップが出るはずです。

図2 保存ダイアログ(1)

フォルダ名に「JB100104」と書き加えて(図3➊)、「Save」をクリックしてください(図3➋)。

図3 保存ダイアログ(2)

準備2:余計なファイルを削除しましょう

前回、日時を付けてファイルを保存したので、いくつかファイルがデスクトップ上にできているはずです。今回のプログラムにとっては邪魔なので「Hello.txt」以外のSikuliXが作ったテキストファイルは削除してください(図4)。

図4 デスクトップ上のファイル

ロボの開発を始めます

プログラムを書こう

13行目の「type(“Hello”)」をコメントアウトしましょう。そして、14行目からリスト1のプログラムを記述してください。


num = 0
while num < 5:
    type("Hello")
    type(Key.ENTER)
    num += 1

リスト1 繰り返し処理

15行目の「while num < 5:」を入力してEnterキーを押すと、16行目は右側にインデント(字下げ)されるはずです。できましたか?SikuliXのソースコードウィンドウで見てみるとリスト2のようになっているはずです。

リスト2 現在のプログラム

Program解説

14行目の「num = 0」は、前回のページの変数を理解していれば、わかりますね。「num」というのは変数です。変数numに0(ゼロ)を入れた(代入した)ということになります。

15行目の「while num < 5:」は、whileの後の条件式「num < 5」が「真」である間は繰り返して実行しますよ、ということです。「真」?中学生のときに習ったような??という方多いと思います。もう少し噛み砕いて言うと、「変数numが5より小さい間は繰り返す」ということです。

繰り返されるプログラムはリスト3の青枠部分になります。インデントしている部分はwhileの影響を受けて、繰り返し処理されます。

リスト3 while文の説明

 

リスト3の青枠部分のプログラムを一つずつ見ていきましょう。

  1. Helloとタイプする
  2. Enterキーを押す
  3. 変数numに1を足す

3番目に変数numに1を足すということはどういう動きになるでしょう?最初0がnumが入っています(13行目)ので、繰返し1回目ではnumには1が代入されます。2回目には2が代入され、、というわけです。

【Hint】変数numに1を足す

変数numに数値を足しながら増やしていくことを「インクリメントする」と言います。

他のプログラム言語では「num = num + 1」と書く場合もあります。これでは長いので、Pythonでは「num += 1」と書けるようになっています。

逆に数値を減らしていく場合は「num -= 1」と記述します。

【Hint】インデントで影響範囲を表す

リスト3のようにインデントでwhileの影響範囲を表現するのがPythonの特徴です。他のプログラム言語では()や{}で囲うことで表現することが多いです。

他の多くのプログラム言語では、Pythonのように強制的にインデントしなくてはいけない、ということがないので、「読みづらくなる」こともあります。

実行しよう

今回書くプログラムはこれだけです。しっかりとプログラムを保存してから実行してください。「Hello.txt」をダブルクリックしてメモ帳が開くと、続けて「Hello」が5回入力されます(図5)。別名で保存されて、メモ帳が閉じたら完了です。

図5 メモ帳にタイプされた状態

まとめ

このページでは繰返し処理を学びました。同時に変数も使いました。短いプログラムでしたが、とても重要なことが詰まっています。これで、プログラムの基本構造3つ「順次処理」「条件分岐」「繰り返し処理」を網羅したことになります!おめでとうございます!

SikuliXで学ぶRPA超入門の他の回はこちらです。