নিয়ন্ত্রণ#

ভূমিকা#

পাইথনের কন্ট্রোল আপনাকে রোবটকে বলে দিতে পারে কখন অপেক্ষা করতে হবে, কখন কোনো কাজের পুনরাবৃত্তি করতে হবে, কীভাবে সিদ্ধান্ত নিতে হবে এবং কখন প্রজেক্টটি শেষ করতে হবে।

নিম্নে মেথড এবং পাইথনের মূল কীওয়ার্ডসহ সকল কন্ট্রোলের একটি তালিকা দেওয়া হলো:

  • wait – একটি নির্দিষ্ট সময়ের জন্য প্রকল্পটি থামিয়ে দেয়।

  • for – একটি অনুক্রমের প্রতিটি আইটেমের জন্য কোডের পুনরাবৃত্তি করে।

  • if – কোনো শর্ত সত্য হলে কোডটি রান করে।

  • if/else – শর্তের উপর নির্ভর করে ভিন্ন কোড চালায়।

  • if/elif/else – একাধিক শর্ত ক্রমানুসারে পরীক্ষা করে।

  • while – যতক্ষণ একটি শর্ত সত্য থাকে, ততক্ষণ কোডটি পুনরাবৃত্তি করে।

  • break – লুপ থেকে অবিলম্বে বেরিয়ে যায়।

  • stop_program – চলমান প্রোগ্রামটি বন্ধ করে দেয়।

  • pass – যখন কোনো পদক্ষেপের প্রয়োজন হয় না তখন ব্যবহৃত প্লেসহোল্ডার।

অপেক্ষা করুন#

wait কোডের পরবর্তী লাইনে যাওয়ার আগে একটি নির্দিষ্ট সময়ের জন্য বিরতি দেয়।

Usage:
wait(time, units)

প্যারামিটার

বর্ণনা

time

অপেক্ষা করার সময়, যা একটি ধনাত্মক পূর্ণ সংখ্যা বা দশমিক সংখ্যা হিসেবে প্রকাশ করতে হবে।

units

অপেক্ষার সময় বোঝানোর একক: MSEC (ডিফল্ট) – মিলিসেকেন্ড, অথবা SECONDS

# Move right for one second, then stop
robot.move_at(90)
wait(1, SECONDS)
robot.stop_all_movement()

জন্য#

for একটি নির্দিষ্ট সংখ্যক বার একগুচ্ছ ক্রিয়ার পুনরাবৃত্তি করে। for তালিকা, টাপল, ডিকশনারি, সেট, স্ট্রিং-এর আইটেমগুলির মধ্যে লুপ করতে, অথবা range সহ একটি নির্দিষ্ট সংখ্যক লুপের জন্য ব্যবহার করা যেতে পারে।

ব্যবহার:

for value in expression_list:
    pass

উপাদান

বর্ণনা

value

একটি অস্থায়ী ভেরিয়েবল যা পুনরাবৃত্তির বর্তমান উপাদানটি সংরক্ষণ করে।

expression_list

যেসব উপাদানের মধ্য দিয়ে লুপ চালানো হচ্ছে (যেমন, লিস্ট, স্ট্রিং, রেঞ্জ)।

# Move in a square path.
for index in range(4):
    robot.move_for(50, 0)
    robot.turn_for(RIGHT, 90)

# Print each item in the list
colors = ["Red", "Green", "Blue"]

for color in colors:
    robot.screen.print(color)
    robot.screen.next_row()

স্ক্রিনে তিনটি বস্তু প্রিন্ট হতে দেখানো হচ্ছে।

যদি#

যদি শর্তটি True হয়, তাহলে if হয় তবে ইনডেন্ট করা কোড ব্লকটি চলে।

ব্যবহারবিধি:

if condition:
    pass

উপাদান

বর্ণনা

condition

একটি এক্সপ্রেশন বা ভেরিয়েবল যা স্টেটমেন্টটি চলার সময় যাচাই করা হয়। যদি এটি Trueহয়, তাহলে if ব্লকের ভেতরের কোডটি এক্সিকিউট হয়; যদি এটি Falseহয়, তাহলে ব্লকটি এড়িয়ে যাওয়া হয়।

# Kick when the screen is pressed
while True:
    if robot.screen.pressing():
        robot.kicker.kick(MEDIUM)
    wait(0.1, SECONDS)

যদি/অন্যথায়#

if and else determine which indented block of code runs based on whether the condition is True or False.

ব্যবহারবিধি:

if condition:
    pass
else:
    pass

উপাদান

বর্ণনা

condition

একটি এক্সপ্রেশন বা ভেরিয়েবল যা স্টেটমেন্টটি চলার সময় যাচাই করা হয়। যদি এটি Trueহয়, তাহলে if ব্লকের ভেতরের কোডটি এক্সিকিউট হয়; যদি এটি Falseহয়, তাহলে এর পরিবর্তে else ব্লকের ভেতরের কোডটি এক্সিকিউট হয়।

# Show one emoji when the screen is pressed,
# and a different emoji when not pressed
while True:
    if robot.screen.pressing():
        robot.screen.show_emoji(EXCITED)

    else:
        robot.screen.show_emoji(BORED)
    
    wait(0.1, SECONDS)

যদি/এলইফ/অন্যথায়#

if/elif/else কাঠামোটি শর্তের উপর ভিত্তি করে নির্বাচন করে যে কোন ইনডেন্টেড কোড ব্লকটি চলবে:

  • if তার ব্লকটি চালায় যদি শর্তটি True হয়।

  • elif অতিরিক্ত শর্তগুলো কেবল তখনই যাচাই করে যখন পূর্ববর্তী সকল শর্ত Falseহয়। একাধিক elif স্টেটমেন্ট ব্যবহার করা যেতে পারে।

  • else তার ব্লকটি তখনই চালায় যদি পূর্ববর্তী কোনো শর্তই True না হয়।

ব্যবহারবিধি:

if condition:
    pass
elif condition:
    pass
else:
    pass

উপাদান

বর্ণনা

condition

একটি এক্সপ্রেশন বা ভেরিয়েবল যা স্টেটমেন্টটি চলার সময় যাচাই করা হয়। প্রথম যে শর্তটি True হয়, সেটিই নির্ধারণ করে কোন ব্লকটি এক্সিকিউট হবে; যদি কোনোটিই Trueনা হয়, তাহলে else ব্লকটি চলে।

# Move the robot forward or reverse
# based on the position of the joystick
def when_axis_changed():
    position = controller.axis1.position()
    if position > 0:
        robot.move_at(0)
    elif position < 0:
        robot.move_at(180)
    else:
        robot.stop_all_movement()

controller.axis1.changed(when_axis_changed)

যদিও#

while যতক্ষণ শর্তটি Trueথাকে, ততক্ষণ কোডটি বারবার চালায়। এটিকে True শর্ত হিসেবে ব্যবহার করে “forever”-এর মতো, অথবা শর্তের সাথে not যোগ করে “wait until”-এর মতোও ব্যবহার করা যায়, যেমনটা নিচের উদাহরণগুলোতে দেখানো হয়েছে।

ব্যবহারবিধি:

while condition:
    pass

উপাদান

বর্ণনা

condition

একটি এক্সপ্রেশন বা ভেরিয়েবল যা প্রতিটি পুনরাবৃত্তির আগে পরীক্ষা করা হয়। যদি এর মান Trueহয়, লুপটি চলতে থাকে; যদি এর মান Falseহয়, লুপটি থেমে যায়।

# Keep the LEDs green while the robot is moving
robot.move_for(200, 0, wait=False)
while robot.is_move_active():
    robot.led.on(ALL_LEDS, GREEN)
    wait(50, MSEC)

robot.led.on(ALL_LEDS, BLACK)

while True:
    # Continually flash all LEDs red then green.
    robot.led.on(ALL_LEDS, RED)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)

# Wait until the screen is pressed before
# turning off the LEDs
while not robot.screen.pressing():
    robot.led.on(ALL_LEDS, RED)
    wait(50, MSEC)

robot.led.on(ALL_LEDS, BLACK)

বিরতি#

break একটি লুপ থেকে অবিলম্বে বেরিয়ে যায়। break এমন লুপ থেকে বেরিয়ে আসতে ব্যবহার করা যেতে পারে যা অন্যথায় অনন্তকাল ধরে চলতে থাকবে।

# Flash LEDs until the screen is pressed
while True:
    robot.led.on(ALL_LEDS, RED)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)

    if robot.screen.pressing():
        break

# Turn the LEDs Off
robot.led.off(ALL_LEDS)

প্রোগ্রাম বন্ধ করুন#

stop_program একটি চলমান প্রজেক্ট বন্ধ করে।

Usage:
robot.stop_program()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Stop the project once the screen is pressed
while True:
    robot.led.on(ALL_LEDS, RED)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)
    if robot.screen.pressing():
        robot.stop_program()

পাস#

pass হলো ভবিষ্যতের কোডের জন্য একটি প্লেসহোল্ডার এবং এটি খালি লুপ, কন্ডিশনাল ও ফাংশনে ত্রুটি এড়াতে ব্যবহার করা যেতে পারে।

if condition:
    pass

def function():
    pass