يتحكم#
مقدمة#
تتيح لك خاصية التحكم في بايثون إخبار الروبوت متى ينتظر، ومتى يكرر الإجراءات، وكيفية اتخاذ القرارات، ومتى ينهي المشروع.
فيما يلي قائمة بالعناصر المتاحة، بما في ذلك الطرق والكلمات الرئيسية الأساسية في لغة بايثون:
wait– يوقف المشروع مؤقتًا لفترة زمنية محددة.for– يكرر الكود لكل عنصر في التسلسل.if– يقوم بتشغيل التعليمات البرمجية إذا كان الشرط صحيحًا.if/else– يقوم بتشغيل كود مختلف اعتمادًا على شرط معين.if/elif/else– يتحقق من عدة شروط بالترتيب.while– يكرر الكود طالما أن الشرط صحيح.break– يخرج من الحلقة فورًا.stop_project– إنهاء المشروع قيد التشغيل.pass– عنصر نائب يستخدم عندما لا تكون هناك حاجة إلى إجراء.
انتظر#
wait توقف مؤقتًا لفترة زمنية محددة قبل الانتقال إلى سطر التعليمات البرمجية التالي.
Usage:wait(time, units)
حدود |
وصف |
|---|---|
|
مقدار الوقت اللازم للانتظار، كعدد صحيح موجب أو عدد عشري. |
|
الوحدة التي تمثل وقت الانتظار: |
def main():
# Turn right for one second, then stop
drivetrain.turn(RIGHT)
wait(1, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
ل#
يكرر الأمر for مجموعة من الإجراءات عددًا محددًا من المرات. ويمكن استخدام الأمر for للتكرار عبر عناصر القوائم، والصفوف، والقواميس، والمجموعات، والسلاسل النصية، أو لعدد محدد من التكرارات باستخدام range.
الاستخدام:
for value in expression_list:
pass
عناصر |
وصف |
|---|---|
|
متغير مؤقت يخزن العنصر الحالي في التكرار. |
|
مجموعة العناصر التي يتم المرور عليها (مثل القائمة، السلسلة، النطاق). |
def main():
# Move in a square path
for index in range(4):
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
def main():
# Print each item in the list
colors = ["Red", "Green", "Blue"]
for color in colors:
brain.print(color)
brain.new_line()
# VR threads — Do not delete
vr_thread(main)
لو#
if يقوم بتشغيل كتلة التعليمات البرمجية ذات المسافة البادئة إذا كان الشرط True.
طريقة الاستخدام:
if condition:
pass
عناصر |
وصف |
|---|---|
|
تعبير أو متغير يتم التحقق منه عند تنفيذ العبارة. إذا كانت قيمته |
def main():
# Turn right until facing south
while True:
if drivetrain.heading(DEGREES) < 180:
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(0.1, SECONDS)
# VR threads — Do not delete
vr_thread(main)
إذا/وإلا#
if و else حدد أي كتلة من التعليمات البرمجية ذات المسافة البادئة يتم تشغيلها بناءً على ما إذا كان الشرط True أو False.
طريقة الاستخدام:
if condition:
pass
else:
pass
عناصر |
وصف |
|---|---|
|
An expression or variable that is checked when the statement runs. If it is |
def main():
# Drive after turning around
while True:
if drivetrain.rotation(DEGREES) < 180:
drivetrain.turn_for(RIGHT, 90, DEGREES)
else:
drivetrain.drive(FORWARD)
wait(0.1, SECONDS)
# VR threads — Do not delete
vr_thread(main)
إذا/إلا/وإلا#
يحدد هيكل if/elif/else ) أي كتلة من التعليمات البرمجية ذات المسافة البادئة يتم تشغيلها بناءً على الشروط التالية:
ifيتم تشغيل كتلته إذا كان الشرطTrue.elifيتحقق من الشروط الإضافية فقط إذا كانت جميع الشروط السابقة خاطئةelifيمكن استخدام عبارات elif متعددةFalse.elseيتم تشغيل كتلتها فقط إذا لم يكن أي من الشروط السابقة صحيحًاTrue.
طريقة الاستخدام:
if condition:
pass
elif condition:
pass
else:
pass
عناصر |
وصف |
|---|---|
|
تعبير أو متغير يتم التحقق منه عند تنفيذ العبارة. الشرط الأول الذي تكون قيمته |
def main():
# Move depending on the detected color
while True:
if front_eye.detect(RED):
drivetrain.drive(FORWARD)
elif front_eye.detect(GREEN):
drivetrain.drive(REVERSE)
else:
drivetrain.turn(RIGHT)
wait(0.1, SECONDS)
# VR threads — Do not delete
vr_thread(main)
بينما#
while repeatedly runs code as long as the condition is True. It can also be used like a “forever” by using True as the condition, or a “wait until” by adding not to the condition, as shown in the examples below.
طريقة الاستخدام:
while condition:
pass
عناصر |
وصف |
|---|---|
|
تعبير أو متغير يتم التحقق منه قبل كل تكرار. إذا كانت قيمته |
def main():
while True:
# Move in a square path forever
drivetrain.drive_for(FORWARD, 150, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
def main():
# Wait until an object is detected to stop driving
drivetrain.drive(FORWARD)
while not front_distance.found_object():
wait(50, MSEC)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
استراحة#
break يخرج من الحلقة فوراً. break يمكن استخدامه للخروج من الحلقات التي ستستمر في التكرار إلى ما لا نهاية.
def main():
# Stop turning after a button is pressed
while True:
drivetrain.turn(RIGHT)
if front_distance.found_object():
break
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
أوقف_المشروع#
stop_project ينهي مشروعًا قيد التشغيل.
Usage:stop_project()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
def main():
# Stop the project after a button is pressed
while True:
drivetrain.turn(RIGHT)
if front_distance.found_object():
stop_program()
drivetrain.drive(FORWARD)
# VR threads — Do not delete
vr_thread(main)
يمر#
pass هو عنصر نائب للتعليمات البرمجية المستقبلية ويمكن استخدامه لتجنب الأخطاء في الحلقات الفارغة والشروط والوظائف.
if condition:
pass
def function():
pass