নিয়ন্ত্রণ#
ভূমিকা#
পাইথনের কন্ট্রোল আপনাকে রোবটকে বলে দিতে পারে কখন অপেক্ষা করতে হবে, কখন কোনো কাজের পুনরাবৃত্তি করতে হবে, কীভাবে সিদ্ধান্ত নিতে হবে এবং কখন প্রজেক্টটি শেষ করতে হবে।
নিম্নে উপলব্ধ কন্ট্রোলগুলোর একটি তালিকা দেওয়া হলো, যার মধ্যে মেথড এবং পাইথনের মূল কীওয়ার্ডগুলো অন্তর্ভুক্ত রয়েছে:
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)
যদি#
যদি শর্তটি True হয়, তাহলে if হয় তবে ইনডেন্ট করা কোড ব্লকটি চলে।
ব্যবহারবিধি:
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 and else determine which indented block of code runs based on whether the condition is True or 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/elif/else কাঠামোটি শর্তের উপর ভিত্তি করে নির্বাচন করে যে কোন ইনডেন্টেড কোড ব্লকটি চলবে:
ifতার ব্লকটি চালায় যদি শর্তটিTrueহয়।elifঅতিরিক্ত শর্তগুলো কেবল তখনই যাচাই করে যখন পূর্ববর্তী সকল শর্তFalseহয়। একাধিকelifস্টেটমেন্ট ব্যবহার করা যেতে পারে।elseতার ব্লকটি তখনই চালায় যদি পূর্ববর্তী কোনো শর্তইTrueনা হয়।
ব্যবহারবিধি:
if condition:
pass
elif condition:
pass
else:
pass
উপাদান |
বর্ণনা |
|---|---|
|
একটি এক্সপ্রেশন বা ভেরিয়েবল যা স্টেটমেন্টটি চলার সময় যাচাই করা হয়। প্রথম যে শর্তটি |
# 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 শর্ত হিসেবে ব্যবহার করে “forever”-এর মতো, অথবা শর্তের সাথে not যোগ করে “wait until”-এর মতোও ব্যবহার করা যায়, যেমনটা নিচের উদাহরণগুলোতে দেখানো হয়েছে।
ব্যবহারবিধি:
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