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