0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

背景

昨日のスクリプトは同じブロックの塊が繰り返しているような部分がありましたので、繰り返し処理をしてみました。

Scratch

ループのブロックはコントロールのところにありました。

image.png

回数指定のループを使い昨日のScratchを書き直しました。
昨日のScratchを右に並べてましたが、下のほうにある2回繰り返している部分をループにしています。

image.png

spheroV2

ループ変数をiとしてfor文にしました。

import time

from spherov2 import scanner
from spherov2.sphero_edu import EventType, SpheroEduAPI
from spherov2.types import Color

print("Testing Starting...")
print("Connecting to Bolt...")
toy = scanner.find_BOLT()

if toy is not None:
    print("Connected.")
    with SpheroEduAPI(toy) as droid:
        print("Testing Start...")
        
        droid.reset_aim()

        droid.set_stabilization(False)

        droid.calibrate_compass()
        time.sleep(1)

        a = 0
        droid.set_compass_direction(a)
        time.sleep(1)
        print(a)

        for i in range(2):
            a += 90            
            droid.set_compass_direction(a)
            time.sleep(1)
            print(a)


        # for a in range(3):
        #     droid.set_compass_direction(a * 90)
        #     time.sleep(1)
        #     print(a)

        print("Testing End...")
  

実行結果はこちらのようになりました。

git\spherov2.py\spherov2\test>python BoltTest_compass3.py
Testing Starting...
Connecting to Bolt...
Connected.
Testing Start...
0
90
180
Testing End...

a=0のときの部分もfor文にまとめる場合はコメントアウト部分のように直すこともできます。

まとめ

Scratchの繰り返し作業を作成してみました。
条件付きループで書き直してみると暗黙として使っている部分に気づくことができて面白そうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?