ควบคุม#
การแนะนำ#
การควบคุมใน Python ช่วยให้คุณบอกหุ่นยนต์ได้ว่าเมื่อใดควรรอ เมื่อใดควรทำซ้ำการกระทำ วิธีการตัดสินใจ และเมื่อใดควรยุติโครงการ
ด้านล่างนี้คือรายการของตัวควบคุมที่มีให้ใช้งาน รวมถึงเมธอดและคำหลักหลักของ Python:
wait– หยุดโปรเจกต์ชั่วคราวตามระยะเวลาที่กำหนดfor– ทำซ้ำรหัสสำหรับแต่ละรายการในลำดับif– รันโค้ดหากเงื่อนไขเป็นจริงif/else– รันโค้ดที่แตกต่างกันขึ้นอยู่กับเงื่อนไขif/elif/else– ตรวจสอบเงื่อนไขหลายรายการตามลำดับwhile– ทำซ้ำโค้ดในขณะที่เงื่อนไขเป็นจริงbreak– ออกจากลูปทันทีstop_program– ยุติโปรแกรมที่กำลังทำงานอยู่pass– ตัวยึดตำแหน่งที่ใช้เมื่อไม่จำเป็นต้องดำเนินการใดๆ
รอ#
wait หยุดชั่วคราวเป็นระยะเวลาที่กำหนดก่อนที่จะไปยังบรรทัดโค้ดถัดไป
Usage:wait(time, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ระยะเวลาที่ต้องรอ โดยระบุเป็นจำนวนเต็มบวกหรือทศนิยม |
|
หน่วยที่ใช้แสดงเวลาที่รอ: |
# Build Used: Super Code Base 2.0
def main():
# Turn right for one second
drivetrain.turn(RIGHT)
wait(1, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
สำหรับ#
for ทำซ้ำชุดการกระทำตามจำนวนครั้งที่กำหนด for สามารถใช้เพื่อวนซ้ำรายการในรายการ ทูเปิล พจนานุกรม ชุด สตริง หรือสำหรับจำนวนรอบที่กำหนดด้วย range
วิธีใช้:
for value in expression_list:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
ตัวแปรชั่วคราวที่ใช้เก็บค่าองค์ประกอบปัจจุบันในการวนซ้ำ |
|
ชุดขององค์ประกอบที่ถูกวนซ้ำ (เช่น รายการ, สตริง, ช่วง) |
# Build Used: Super Code Base 2.0
def main():
# Move in a square path
for index in range(4):
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90)
# Start threads — Do not delete
start_thread(main)
ถ้า#
if รันบล็อกโค้ดที่เยื้องเข้าไป ถ้าเงื่อนไขเป็น True
วิธีใช้:
if condition:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
นิพจน์หรือตัวแปรที่จะถูกตรวจสอบเมื่อคำสั่งทำงาน ถ้าเป็น |
# Build Used: Super Code Base 2.0
def main():
# Turn when the bumper is pressed
while True:
if bumper.is_pressed():
drivetrain.turn_for(RIGHT, 90)
wait(0.1, SECONDS)
# Start threads — Do not delete
start_thread(main)
ถ้า/มิฉะนั้น#
if และ else กำหนดว่าบล็อกโค้ดที่เยื้องเข้าไปจะทำงานโดยพิจารณาจากว่าเงื่อนไขเป็น True หรือ False
วิธีใช้:
if condition:
pass
else:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
นิพจน์หรือตัวแปรที่จะถูกตรวจสอบเมื่อคำสั่งทำงาน ถ้าเป็น |
# Build Used: Super Code Base 2.0
def main():
# Turn when the bumper is pressed
while True:
if bumper.is_pressed():
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
wait(0.1, SECONDS)
# Start threads — Do not delete
start_thread(main)
ถ้า/หรือถ้าไม่/มิฉะนั้น#
โครงสร้าง if/elif/else จะเลือกบล็อกโค้ดที่เยื้องเข้าไปว่าจะทำงานอย่างไร โดยขึ้นอยู่กับเงื่อนไข:
ifรันบล็อก ถ้าเงื่อนไขเป็นTrueelifตรวจสอบเงื่อนไขเพิ่มเติมเฉพาะเมื่อเงื่อนไขก่อนหน้าทั้งหมดเป็นFalseเท่านั้น สามารถใช้คำสั่งelifได้หลายคำสั่งelseจะรันบล็อกเฉพาะเมื่อไม่มีเงื่อนไขก่อนหน้าใดเป็นจริงTrue
วิธีใช้:
if condition:
pass
elif condition:
pass
else:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
นิพจน์หรือตัวแปรที่จะถูกตรวจสอบเมื่อคำสั่งทำงาน เงื่อนไขแรกที่เป็น |
# Build Used: Super Code Base 2.0
def main():
# Change the LED while turning
drivetrain.turn(RIGHT)
while True:
if drivetrain.get_heading() < 120:
bumper.set_color(OFF)
elif drivetrain.get_heading() < 240:
bumper.set_color(RED)
else:
bumper.set_color(GREEN)
wait(0.2, SECONDS)
# Start threads — Do not delete
start_thread(main)
ในขณะที่#
while จะรันโค้ดซ้ำๆ ตราบใดที่เงื่อนไขเป็น Trueนอกจากนี้ยังสามารถใช้เป็น “ตลอดไป” โดยใช้ True เป็นเงื่อนไข หรือเป็น “รอจนกว่า” โดยเพิ่ม not เข้าไปในเงื่อนไข ดังแสดงในตัวอย่างด้านล่าง
วิธีใช้:
while condition:
pass
ส่วนประกอบ |
คำอธิบาย |
|---|---|
|
นิพจน์หรือตัวแปรที่จะถูกตรวจสอบก่อนการวนซ้ำแต่ละครั้ง ถ้าเป็น |
# Build Used: Super Code Base 2.0
def main():
# Turn when the bumper is pressed
while True:
if bumper.is_pressed():
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
wait(0.1, SECONDS)
# Start threads — Do not delete
start_thread(main)
# Build Used: Super Code Base 2.0
def main():
# Turn the other direction when the bumper is pressed
drivetrain.turn(LEFT)
while not bumper.is_pressed():
wait(0.2, SECONDS)
drivetrain.turn(RIGHT)
# Start threads — Do not delete
start_thread(main)
หยุดพัก#
break ออกจากลูปทันที break ใช้เพื่อออกจากลูปที่อาจจะวนซ้ำไปเรื่อยๆ
วิธีใช้:
break
พารามิเตอร์ |
คำอธิบาย |
|---|---|
คีย์เวิร์ดนี้ไม่มีพารามิเตอร์ |
# Build Used: Super Code Base 2.0
def main():
# Stop turning after pressing the bumper
while True:
drivetrain.turn(RIGHT)
if bumper.is_pressed():
break
wait(0.2, SECONDS)
drivetrain.stop()
bumper.set_color(RED)
# Start threads — Do not delete
start_thread(main)
หยุดโปรแกรม#
stop_program ยุติโปรเจกต์ที่กำลังทำงานอยู่
Usage:stop_program()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Build Used: Super Code Base 2.0
def main():
# Stop the project after pressing the bumper
while True:
drivetrain.turn(RIGHT)
if bumper.is_pressed():
break
wait(0.2, SECONDS)
stop_program()
# Start threads — Do not delete
start_thread(main)
ผ่าน#
pass เป็นตัวแทนสำหรับโค้ดในอนาคต และสามารถใช้เพื่อหลีกเลี่ยงข้อผิดพลาดในลูปว่างเปล่า เงื่อนไข และฟังก์ชัน
วิธีใช้:
pass
พารามิเตอร์ |
คำอธิบาย |
|---|---|
คีย์เวิร์ดนี้ไม่มีพารามิเตอร์ |
if condition:
pass
def function():
pass