ควบคุม#
การแนะนำ#
การควบคุมใน Python ช่วยให้คุณบอกหุ่นยนต์ได้ว่าเมื่อใดควรรอ เมื่อใดควรทำซ้ำการกระทำ วิธีการตัดสินใจ และเมื่อใดควรยุติโครงการ
ด้านล่างนี้คือรายการของตัวควบคุมที่มีให้ใช้งาน รวมถึงเมธอดและคำหลักหลักของ Python:
wait— หยุดโปรเจกต์ชั่วคราวตามระยะเวลาที่กำหนดfor— ทำซ้ำรหัสสำหรับแต่ละรายการในลำดับif— รันโค้ดหากเงื่อนไขเป็นจริงif/else— รันโค้ดที่แตกต่างกันขึ้นอยู่กับเงื่อนไขif/elif/else— ตรวจสอบเงื่อนไขหลายรายการตามลำดับwhile— ทำซ้ำโค้ดในขณะที่เงื่อนไขเป็นจริงbreak— ออกจากลูปทันทีstop_program— ยุติโปรแกรมที่กำลังทำงานอยู่pass— ตัวยึดตำแหน่งที่ใช้เมื่อไม่จำเป็นต้องดำเนินการใดๆ
รอ#
wait หยุดชั่วคราวเป็นระยะเวลาที่กำหนดก่อนที่จะไปยังบรรทัดโค้ดถัดไป
Usage:wait(time, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ระยะเวลาที่ต้องรอ โดยระบุเป็นจำนวนเต็มบวกหรือทศนิยม |
|
หน่วยที่ใช้แสดงเวลาที่รอ: |
# Turn right for one second, then stop
drivetrain.turn(RIGHT)
wait(1, SECONDS)
drivetrain.stop()
สำหรับ#
for ทำซ้ำชุดการกระทำตามจำนวนครั้งที่กำหนด for สามารถใช้เพื่อวนซ้ำรายการในรายการ ทูเปิล พจนานุกรม ชุด สตริง หรือสำหรับจำนวนรอบที่กำหนดด้วย range
วิธีใช้:
for value in expression_list:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
ตัวแปรชั่วคราวที่ใช้เก็บค่าองค์ประกอบปัจจุบันในการวนซ้ำ |
|
ชุดขององค์ประกอบที่ถูกวนซ้ำ (เช่น รายการ, สตริง, ช่วง) |
# Move in a square path
for index in range(4):
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90)
# Print each item in the list
colors = ["Red", "Green", "Blue"]
for color in colors:
brain.screen.print(color)
brain.screen.next_row()

ถ้า#
if รันบล็อกโค้ดที่เยื้องเข้าไป ถ้าเงื่อนไขเป็น True
วิธีใช้:
if condition:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
นิพจน์หรือตัวแปรที่จะถูกตรวจสอบเมื่อคำสั่งทำงาน ถ้าเป็น |
# Turn right when a button is pressed
while True:
if brain.buttonCheck.pressing():
drivetrain.turn_for(RIGHT, 90)
wait(0.1, SECONDS)
ถ้า/มิฉะนั้น#
if และ else กำหนดว่าบล็อกโค้ดที่เยื้องเข้าไปจะทำงานโดยพิจารณาจากว่าเงื่อนไขเป็น True หรือ False
วิธีใช้:
if condition:
pass
else:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
นิพจน์หรือตัวแปรที่จะถูกตรวจสอบเมื่อคำสั่งทำงาน ถ้าเป็น |
# Turn right when a button is pressed, and remain still
# when the button is not pressed
while True:
if brain.buttonCheck.pressing():
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
wait(0.1, SECONDS)
ถ้า/หรือถ้าไม่/มิฉะนั้น#
โครงสร้าง if/elif/else จะเลือกบล็อกโค้ดที่เยื้องเข้าไปว่าจะทำงานอย่างไร โดยขึ้นอยู่กับเงื่อนไข:
ifรันบล็อก ถ้าเงื่อนไขเป็นTrueelifตรวจสอบเงื่อนไขเพิ่มเติมเฉพาะเมื่อเงื่อนไขก่อนหน้าทั้งหมดเป็นFalseเท่านั้น สามารถใช้คำสั่งelifได้หลายคำสั่งelseจะรันบล็อกเฉพาะเมื่อไม่มีเงื่อนไขก่อนหน้าใดเป็นจริงTrue
วิธีใช้:
if condition:
pass
elif condition:
pass
else:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
นิพจน์หรือตัวแปรที่จะถูกตรวจสอบเมื่อคำสั่งทำงาน เงื่อนไขแรกที่เป็น |
# Turn depending on what button is pressed
while True:
if brain.buttonRight.pressing():
drivetrain.turn(RIGHT)
elif brain.buttonLeft.pressing():
drivetrain.turn(LEFT)
else:
drivetrain.stop()
wait(0.1, SECONDS)
ในขณะที่#
while จะรันโค้ดซ้ำๆ ตราบใดที่เงื่อนไขเป็น Trueนอกจากนี้ยังสามารถใช้เป็น “ตลอดไป” โดยใช้ True เป็นเงื่อนไข หรือเป็น “รอจนกว่า” โดยเพิ่ม not เข้าไปในเงื่อนไข ดังแสดงในตัวอย่างด้านล่าง
วิธีใช้:
while condition:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
นิพจน์หรือตัวแปรที่จะถูกตรวจสอบก่อนการวนซ้ำแต่ละครั้ง ถ้าเป็น |
# Keep the screen green while the robot is moving
drivetrain.drive_for(FORWARD, 200, MM, wait=False)
while drivetrain.is_moving():
brain.screen.clear_screen(Color.GREEN)
wait(50, MSEC)
brain.screen.clear_screen(Color.BLACK)
while True:
# Move in a square path forever
drivetrain.drive_for(FORWARD, 150, MM)
drivetrain.turn_for(RIGHT, 90)
# Wait until a button is pressed to stop driving
drivetrain.drive(FORWARD)
while not brain.buttonCheck.pressing():
wait(50, MSEC)
drivetrain.stop()
หยุดพัก#
break ออกจากลูปทันที break ใช้เพื่อออกจากลูปที่อาจจะวนซ้ำไปเรื่อยๆ
# Stop turning after a button is pressed
while True:
drivetrain.turn(RIGHT)
if brain.buttonCheck.pressing():
break
drivetrain.stop()
brain.play_sound(SoundType.POWER_DOWN)
หยุดโปรแกรม#
program_stop ยุติโปรเจกต์ที่กำลังทำงานอยู่
Usage:brain.program_stop()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Stop the project after a button is pressed
while True:
drivetrain.turn(RIGHT)
if brain.buttonCheck.pressing():
brain.program_stop()
brain.play_sound(SoundType.POWER_DOWN)
ผ่าน#
pass เป็นตัวแทนสำหรับโค้ดในอนาคต และสามารถใช้เพื่อหลีกเลี่ยงข้อผิดพลาดในลูปว่างเปล่า เงื่อนไข และฟังก์ชัน
if condition:
pass
def function():
pass