नियंत्रण#

परिचय#

पायथन में कंट्रोल आपको रोबोट को यह बताने की सुविधा देता है कि कब प्रतीक्षा करनी है, कब क्रियाओं को दोहराना है, निर्णय कैसे लेने हैं और कब प्रोजेक्ट को समाप्त करना है।

नीचे उपलब्ध नियंत्रणों की सूची दी गई है, जिसमें विधियाँ और मुख्य पायथन कीवर्ड शामिल हैं:

  • wait – दिए गए समय के लिए प्रोजेक्ट को रोक देता है।

  • for – अनुक्रम में प्रत्येक आइटम के लिए कोड दोहराता है।

  • if – यदि कोई शर्त सही है तो कोड चलाता है।

  • if/else – एक शर्त के आधार पर अलग-अलग कोड चलाता है।

  • if/elif/else – क्रम में कई शर्तों की जाँच करता है।

  • while – जब तक कोई शर्त सही है तब तक कोड दोहराता है।

  • break – लूप से तुरंत बाहर निकलता है।

  • quit – चल रहे प्रोजेक्ट को समाप्त करता है।

  • pass – प्लेसहोल्डर का उपयोग तब किया जाता है जब किसी कार्रवाई की आवश्यकता नहीं होती है।

wait#

wait कोड की अगली पंक्ति पर जाने से पहले एक निश्चित समय के लिए रुकता है।

Usage:
wait(time, units)

पैरामीटर

विवरण

time

प्रतीक्षा करने का समय, धनात्मक पूर्ण संख्या या दशमलव के रूप में।

units

प्रतीक्षा समय को दर्शाने वाली इकाई: MSEC (डिफ़ॉल्ट) – मिलीसेकंड, या SECONDS

# Fly for 1 second.
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land()

for#

for क्रियाओं के एक सेट को एक विशिष्ट संख्या में दोहराता है। for का उपयोग सूचियों, टुपल्स, शब्दकोशों, सेटों, स्ट्रिंग्स में आइटम के माध्यम से लूप करने के लिए या range के साथ लूप की एक निर्दिष्ट मात्रा के लिए किया जा सकता है।

उपयोग:

for value in expression_list:
    pass

अवयव

विवरण

value

एक अस्थायी चर जो पुनरावृति में वर्तमान तत्व को संग्रहीत करता है।

expression_list

लूप में शामिल किए जा रहे तत्वों का संग्रह (जैसे, सूची, स्ट्रिंग, रेंज)।

# Move back and forth four times then land.
drone.take_off(climb_to=500)
for i in range(4):
    drone.move_for(direction=0, distance=500, velocity=50, units=MM)
    wait(1, SECONDS)
    drone.move_for(direction=180, distance=500, velocity=50, units=MM)
    wait(1, SECONDS)
drone.land()

# Print each item in a list.
colors = ["Red", "Green", "Blue"]
for color in colors:
    controller.screen.print(color)
    controller.screen.next_row()

if#

if इंडेंटेड कोड ब्लॉक चलाता है यदि शर्त True.

उपयोग:

if condition:
    pass

अवयव

विवरण

condition

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। यदि यह Trueहै, तो if ब्लॉक के अंदर का कोड निष्पादित होता है; यदि यह Falseहै, तो ब्लॉक को छोड़ दिया जाता है।

# Take a picture when button 5 is pressed.
drone.take_off(climb_to=500)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )

    if controller.button5.pressing():
        drone.camera.capture_image(FORWARD_CAMERA)

    wait(5, MSEC)

if/else#

if और else यह निर्धारित करें कि कोड का कौन सा इंडेंटेड ब्लॉक चलता है, इस आधार पर कि शर्त True है या False।

उपयोग:

if condition:
    pass
else:
    pass

अवयव

विवरण

condition

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। यदि यह Trueहै, तो if ब्लॉक के अंदर का कोड चलता है; यदि यह Falseहै, तो else ब्लॉक के अंदर का कोड चलता है।

# Climb when the left joystick is moved up.
drone.take_off(climb_to=500)
while True:
    if controller.axis1.position() > 0:
        drone.climb(direction=UP, velocity=50)
    else:
        drone.hover()
    wait(5, MSEC)

if/elif/else#

if/elif/else संरचना शर्तों के आधार पर यह चयन करती है कि कोड का कौन सा इंडेंटेड ब्लॉक चलेगा:

  • if अपने ब्लॉक को चलाता है यदि शर्त True.

  • elif अतिरिक्त शर्तों की जाँच केवल तभी करता है जब पिछली सभी शर्तें False. एकाधिक elif कथनों का उपयोग किया जा सकता है।

  • else अपने ब्लॉक को तभी चलाता है जब पिछली कोई भी शर्त सही न हो True.

उपयोग:

if condition:
    pass
elif condition:
    pass
else:
    pass

अवयव

विवरण

condition

An expression or variable that is checked when the statement runs. The first condition that is True determines which block executes; if none are True, the else block runs.

# Move the drone up or down based on the position of the joystick.
drone.take_off(climb_to=500)
while True:
    position = controller.axis1.position()
    if position > 0:
        drone.climb(direction=UP, velocity=50)
    elif position < 0:
        drone.climb(direction=DOWN, velocity=50)
    else:
        drone.hover()
    wait(5, MSEC)

while#

while तब तक कोड को बार-बार चलाता है जब तक कि शर्त Trueबनी रहती है। इसे True शर्त के रूप में उपयोग करके “हमेशा” के रूप में भी इस्तेमाल किया जा सकता है, या not शर्त में जोड़कर “तब तक प्रतीक्षा करें” के रूप में भी इस्तेमाल किया जा सकता है, जैसा कि नीचे दिए गए उदाहरणों में दिखाया गया है।

उपयोग:

while condition:
    pass

अवयव

विवरण

condition

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच प्रत्येक पुनरावृति से पहले की जाती है। यदि यह Trueहै, तो लूप जारी रहता है; यदि यह Falseहै, तो लूप रुक जाता है।

# Hover at 200 mm.
drone.take_off(climb_to=500)
while drone.range.get_distance(DOWNWARD_RANGE, MM) > 200:
    drone.climb(direction=DOWN, velocity=10)
drone.hover()
wait(3, SECONDS)
drone.land()

break#

break लूप से तुरंत बाहर निकल जाता है। break का उपयोग उन लूपों को छोड़ने के लिए किया जा सकता है जो अन्यथा हमेशा चलते रहते।

# Land when button 5 is pressed.
drone.take_off(climb_to=500)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    if controller.button5.pressing():
        break
    wait(5, MSEC)
drone.land()

quit#

quit चल रहे प्रोजेक्ट को समाप्त करता है।

Usage:
quit()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Land when button 5 is pressed.
drone.take_off(climb_to=500)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    if controller.button5.pressing():
        quit()
    wait(5, MSEC)
drone.land()

pass#

pass भविष्य के कोड के लिए एक प्लेसहोल्डर है और इसका उपयोग खाली लूप, सशर्त कथनों और फ़ंक्शन में त्रुटियों से बचने के लिए किया जा सकता है।

if condition:
    pass

def function():
    pass