नियंत्रण#
परिचय#
पायथन में कंट्रोल आपको रोबोट को यह बताने की सुविधा देता है कि कब प्रतीक्षा करनी है, कब क्रियाओं को दोहराना है, निर्णय कैसे लेने हैं और कब प्रोजेक्ट को समाप्त करना है।
नीचे उपलब्ध नियंत्रणों की सूची दी गई है, जिसमें विधियाँ और मुख्य पायथन कीवर्ड शामिल हैं:
wait– दिए गए समय के लिए प्रोजेक्ट को रोक देता है।for– अनुक्रम में प्रत्येक आइटम के लिए कोड दोहराता है।if– यदि कोई शर्त सही है तो कोड चलाता है।if/else– एक शर्त के आधार पर अलग-अलग कोड चलाता है।if/elif/else– क्रम में कई शर्तों की जाँच करता है।while– जब तक कोई शर्त सही है तब तक कोड दोहराता है।break– लूप से तुरंत बाहर निकलता है।program_stop– चल रहे प्रोग्राम को समाप्त करता है।pass– प्लेसहोल्डर का उपयोग तब किया जाता है जब किसी कार्रवाई की आवश्यकता नहीं होती है।
इंतज़ार#
wait कोड की अगली पंक्ति पर जाने से पहले एक निश्चित समय के लिए रुकता है।
Usage:wait(time, units)
पैरामीटर |
विवरण |
|---|---|
|
प्रतीक्षा करने का समय, धनात्मक पूर्ण संख्या या दशमलव के रूप में। |
|
प्रतीक्षा समय को दर्शाने वाली इकाई: |
# Move the arm to the desired position and then blink the signal tower
arm.move_to(40, 140, 210, False)
wait(1, SECONDS)
signal_tower.set_color(SignalTower.BLUE, SignalTower.BLINK)
के लिए#
for क्रियाओं के एक सेट को एक विशिष्ट संख्या में दोहराता है। for का उपयोग सूचियों, टुपल्स, शब्दकोशों, सेटों, स्ट्रिंग्स में आइटम के माध्यम से लूप करने के लिए या range के साथ लूप की एक निर्दिष्ट मात्रा के लिए किया जा सकता है।
उपयोग:
for value in expression_list:
pass
अवयव |
विवरण |
|---|---|
|
एक अस्थायी चर जो पुनरावृति में वर्तमान तत्व को संग्रहीत करता है। |
|
लूप में शामिल किए जा रहे तत्वों का संग्रह (जैसे, सूची, स्ट्रिंग, रेंज)। |
# Move the arm 4 times by 100 millimeters on the y axis
for index in range(4):
arm.move_inc(0, 100, 0)
अगर#
if इंडेंटेड कोड ब्लॉक चलाता है यदि शर्त True.
उपयोग:
if condition:
pass
अवयव |
विवरण |
|---|---|
|
एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। यदि यह |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
if arm.is_done():
brain.timer_reset()
यदि/अन्यथा#
if और else यह निर्धारित करें कि कोड का कौन सा इंडेंटेड ब्लॉक चलता है, इस आधार पर कि शर्त True है या False।
उपयोग:
if condition:
pass
else:
pass
अवयव |
विवरण |
|---|---|
|
एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। यदि यह |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
brain.timer_reset()
else:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
यदि/यदि/अन्यथा#
if/elif/else संरचना शर्तों के आधार पर यह चयन करती है कि कोड का कौन सा इंडेंटेड ब्लॉक चलेगा:
ifअपने ब्लॉक को चलाता है यदि शर्तTrueहै।elifअतिरिक्त शर्तों की जाँच केवल तभी करता है जब पिछली सभी शर्तेंFalse. एकाधिकelifकथनों का उपयोग किया जा सकता है।elseअपने ब्लॉक को तभी चलाता है जब पिछली कोई भी शर्त सही न होTrue.
उपयोग:
if condition:
pass
elif condition:
pass
else:
pass
अवयव |
विवरण |
|---|---|
|
An expression or variable that is checked when the statement runs. The first condition that is |
# Change the signal tower light if arm can reach to the desired position
while True:
if arm.can_arm_reach_to(200, 200, 200):
signal_tower.set_color(SignalTower.BLUE, SignalTower.BLINK)
elif arm.can_arm_reach_to(300, 300, 300):
signal_tower.set_color(SignalTower.GREEN, SignalTower.BLINK)
else:
signal_tower.set_color(SignalTower.ALL, SignalTower.OFF)
wait(50, MSEC)
जबकि#
while तब तक कोड को बार-बार चलाता है जब तक कि शर्त Trueबनी रहती है। इसे True शर्त के रूप में उपयोग करके “हमेशा” के रूप में भी इस्तेमाल किया जा सकता है, या not शर्त में जोड़कर “तब तक प्रतीक्षा करें” के रूप में भी इस्तेमाल किया जा सकता है, जैसा कि नीचे दिए गए उदाहरणों में दिखाया गया है।
उपयोग:
while condition:
pass
अवयव |
विवरण |
|---|---|
|
एक एक्सप्रेशन या वेरिएबल जिसकी जाँच प्रत्येक पुनरावृति से पहले की जाती है। यदि यह |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
break
else:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
# Blink blue light until the move is completed
signal_tower.set_color(SignalTower.BLUE, SignalTower.BLINK)
arm.move_to(-100, 200, 100, False)
while not arm.is_done():
wait(0.2, SECONDS)
signal_tower.set_color(SignalTower.BLUE, SignalTower.ON)
तोड़ना#
break लूप से तुरंत बाहर निकल जाता है। break का उपयोग उन लूपों को छोड़ने के लिए किया जा सकता है जो अन्यथा हमेशा चलते रहते।
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
break
else:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
प्रोग्राम_स्टॉप#
program_stop एक चल रहे प्रोजेक्ट को समाप्त करता है।
Usage:brain.program_stop()
पैरामीटर |
विवरण |
|---|---|
इस विधि के कोई मानदंड नहीं हैं। |
# Stop the project until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
break
else:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
brain.program_stop()
उत्तीर्ण#
pass भविष्य के कोड के लिए एक प्लेसहोल्डर है और इसका उपयोग खाली लूप, सशर्त कथनों और फ़ंक्शन में त्रुटियों से बचने के लिए किया जा सकता है।
if condition:
pass
def function():
pass