পাইথন প্রোগ্রামিং ল্য়াংগুয়েজ-১১ - SMH Amiri

সর্বশেষ লিখাসমূহ

পাইথন প্রোগ্রামিং ল্য়াংগুয়েজ-১১

 


কন্ট্রোল স্টেটমেন্ট

if স্টেটমেন্ট

সিদ্ধান্ত গ্রহণের জন্য প্রোগ্রামিং এ সচরাচর কন্ডিশনাল(conditional) স্টেটমেন্ট ব্যবহৃত হয়। এই অধ্যায়ে আপনি if কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে সিদ্ধান্ত গ্রহণ করা শিখবেন।


কন্ডিশনাল স্টেটমেন্ট

পাইথন প্রোগ্রামিং এ তিন ধরণের if কন্ডিশনাল(conditional) স্টেটমেন্ট রয়েছেঃ

  • ইফ-if
  • ইফ...এলস- if...else
  • ইফ...এলইফ...এলস - if...elif...else

পাইথনে if স্টেটমেন্ট এর সিনট্যাক্স

if testExpression:
    statement(s)

সিনট্যাক্স এর ব্যাখ্যা

  • প্রোগ্রাম প্রথমে testExpression কে মূল্যায়ন করে এবং এটি যদি True হয় তাহলে statement(s) সম্পাদিত হয়।
  • যদি textExpression এর ভ্যালু False হয় তাহলে statement(s) সম্পাদিত হয় না।
  • পাইথনে if স্টেটমেন্ট এর বডি(Body)-কে ইন্ডেন্টেশন(indentation)-এর মাধ্যমে লিখতে হয়। সুতরাং Body শুরু হয় ইন্ডেন্টেশনের মাধ্যমে এবং প্রথম যেখান থেকে ইন্ডেন্টেশন শুরু হয় সেখানেই শেষ হয়।
  • শূন্য নয় এমন ভ্যালুকে পাইথন True হিসাবে গণ্য করে। None এবং 0 কে False হিসাবে গণ্য করে।

if স্টেটমেন্টের ফ্লোচার্ট

if স্টেটমেন্ট এর ফ্লোচার্ট

উদাহরণঃ পাইথন if স্টেটমেন্ট

# ধনাত্বক সংখ্যা হলে আমরা একটি ম্যাসেজ আউটপুট পাবো

num = 5
if num > 0:
    print(num, "is a positive number.")
print("This is always printed.")

num = -5
if num > 0:
    print(num, "is a positive number.")
print("This is also always printed.")


আউটপুট

5 is a positive number.
This is always printed.
This is also always printed.

উদাহরণের ব্যাখ্যা

  • উপরের উদাহরণে num > 0 হচ্ছে testExpression।
  • যদি testExpression এর ভ্যালু True হয় তাহলে if এর বডি সম্পাদিত হবে।
  • যখন ভ্যারিয়েবল num এর ভ্যালু 5 এর সমান হয় তখন testExpression এর ভ্যালু true এবং if এর ভেতরে অবস্থিত বডি সম্পাদিত হবে।
  • যদি ভ্যারিয়েবল num এর ভ্যালু -5 এর সমান হয় তাহলে testExpression এর মান false হয় এবং if এর ভেতরে অবস্থিত বডিকে স্কিপ করে পরবর্তী স্টেটমেন্ট সম্পাদিত হয়।
  • print() স্টেটমেন্ট if ব্লক এর বাহিরে থাকায় এটি testExpression কে গ্রাহ না করে সব সময়ই সম্পাদিত হয়।

if...else স্টেটমেন্ট

কন্ডিশন True হলে কিছু কোড এবং False হলে অন্য কিছু কোড সম্পাদন(execution) এর জন্য পাইথন if...else স্টেটমেন্ট ব্যবহৃত হয়।


if...else সিনট্যাক্স

if testExpression:
    Body of if
else:
    Body of else

সিনট্যাক্স এর ব্যাখ্যা

  •  প্রোগ্রাম প্রথমে testExpression-কে মূল্যায়ন করে এবং এটি যদি True হয় তাহলে if এর বডি সম্পাদিত হয়।
  • অন্যথায়, else এর বডি সম্পাদিত হয়। if এবং else ব্লক নির্ধারনের জন্য ইন্ডেন্টেশন ব্যবহার করা হয়।

পাইথন if..else ফ্লোচার্ট

if স্টেটমেন্ট এর ফ্লোচার্ট


উদাহরণঃ পাইথন if...else স্টেটমেন্ট

#এই প্রোগ্রামটি প্রথমে চেক করে দেখে সংখ্যাটি ধনাত্মক না ঋণাত্মক।
# ফলাফল অনুযায়ী স্ক্রিনে উপযুক্ত ম্যাসেজ  প্রিন্ট করে। 

num = 5
# num =-5 দিয়েও যাচাই করুন

if num >= 0:
    print("Positive or zero")
else:
    print("Negative number")

উদাহরণের ব্যাখ্যা

  • উপরের উদাহরণে যদি ভ্যারিয়েবল num এর ভ্যালু 5 এর সমান হয় তাহলে testExpression এর মান True হয় এবং if এর body সম্পাদিত হয়, else কে স্কিপ করে যায়।
  • যদি num এর মান -5 এর সমান হয় তাহলে testExpression এর মান False হয় এবং else এর কোড ব্লক সম্পাদিত হয় কিন্তু if কে স্কিপ করে যায়।


পাইথন if...elif...else স্টেটমেন্ট

কন্ডিশন True/False যাই হোক না কেন আমরা কোড এক্সিকিউট করতে চাই অর্থাৎ সিদ্ধান্ত গ্রহণ করতে চাই, সেক্ষেত্রে if...else স্টেটমেন্ট ব্যবহৃত হয়। কিন্তু মাঝে মাঝে সিদ্ধান্ত গ্রহণ দুই এর অধিক কন্ডিশনের উপর নির্ভর করতে পারে।

দুই এর অধিক এক্সপ্রেশনকে টেস্ট করে কোড এক্সিকিউট করার জন্য নেস্টেড if...else স্টেটমেন্ট ব্যবহৃত হয়।

if...elif...else সিনট্যাক্স

if testExpression:
    Body of if
elif testExpression:
    Body of elif
else: 
    Body of else

সিনট্যাক্স এর ব্যাখ্যা

  • else if এর সংক্ষিপ্তরূপ হচ্ছে elif। এটার মাধ্যমে আমরা একাধিক(multiple) কন্ডিশন চেক করতে পারি।
  •  if এক্সপ্রেশন বা কন্ডিশন যদি False হয় তাহলে পরবর্তী elif কন্ডিশন(condition) চেক করে এবং এভাবে চলতে থাকে।
  • যদি সবগুলো কন্ডিশনই False হয় তাহলে else এর কোড ব্লক সম্পাদিত হয়।
  • কন্ডিশনের উপর ভিত্তিকরে বিভিন্ন if...elif...else ব্লক এর মধ্য থেকে কেবলমাত্র একটি ব্লক এর কাজ সম্পাদিত হয়।
  • একটি if ব্লকের একটি মাত্র else ব্লক থাকে। কিন্তু এটার অনেকগুলো elif ব্লক থাকতে পারে।

উদাহরনঃ পাইথনে if...elif...else স্টেটমেন্ট

# এই প্রোগ্রামটি প্রথমে চেক করে দেখে সংখ্যাটি 
# ধনাত্মক, ০(শূন্য) না ঋণাত্মক।
# এর পরে ফলাফল/সিদ্ধান্ত অনুসারে স্ক্রিনে উপযুক্ত ম্যাসেজ প্রিন্ট করে। 


num = -5
# num =5 এবং num =0 দিয়েও যাচাই করুন।

if num > 0:
    print("Positive number")
elif num == 0:
    print("Zero")
else:
    print("Negative number")
    

উদাহরণের ব্যাখ্যা

  •  যখন ভ্যারিয়েবল num এর মান ধনাত্মক(Positive) হয়, তখন Positive number প্রিন্ট হয়।
  • যখন num এর মান 0 হয়, তখন Zero প্রিন্ট হয়।
  • যখন ভ্যারিয়েবল num এর মান ঋণাত্মক(negative) হয়, তখন Negative number প্রিন্ট হয়।

পাইথন নেস্টেড(Nested) if স্টেটমেন্ট

আমরা এক if...elif...else স্টেটমেন্টেের মধ্যে অন্য if...elif...else স্টেটমেন্টকেও রাখতে পারি। এ পদ্ধতিকে কম্পিউটার প্রোগ্রামিং এ নেস্টেড বলা হয়।

একটি স্টেটমেন্টের মধ্যে যেকোনো সংখ্যক স্টেটমেন্ট নেস্টেড হতে পারে। এগুলো বুঝার একমাত্র উপায় হচ্ছে ইন্ডেন্টেশন (Indentation)। এটি আপনাকে বিভ্রান্তির মধ্যে ফেলতে পারে। তাই যতদূর সম্ভব এটি এড়িয়ে চলা উচিৎ।

উদাহরনঃ পাইথন নেস্টেড if স্টেটমেন্ট

# এই প্রোগ্রামটি ইনপুট নিয়ে প্রথমে চেক করে দেখে সংখ্যাটি 
# ধনাত্মক, ০(শূন্য) না ঋণাত্মক।
# এর পরে ফলাফল/সিদ্ধান্ত অনুসারে স্ক্রিনে উপযুক্ত ম্যাসেজ প্রিন্ট করে। 


num = float(input("Enter a number: "))
if num >= 0:
    if num == 0:
        print("Zero")
    else:
        print("Positive number")
else:
    print("Negative number")
    


উদাহরণের ব্যাখ্যা

  •  যখন ভ্যারিয়েবল num এর মান ধনাত্মক(Positive) হয়, তখন Positive number প্রিন্ট হয়।
  • যখন num এর মান 0 হয়, তখন Zero প্রিন্ট হয়।
  • যখন ভ্যারিয়েবল num এর মান ঋণাত্মক(negative) হয়, তখন Negative number প্রিন্ট হয়।

for লুপ

কোনো নির্দিষ্ট কোড ব্লককে রিপিট(repeat) করার জন্য প্রোগ্রামিং এ লুপ(loop) ব্যবহৃত হয়। 

কন্ডিশন(condition) মিথ্যা না হওয়া পর্যন্ত কোনো কোড ব্লককে রিপিট(repeat) করার জন্য প্রোগ্রামিং এ লুপ ব্যবহৃত হয়।


list, tuple, string ইত্যাদি সিকুয়েন্স বা অন্যান্য ইটারেবল অবজেক্টকে ইটারেট(iterate) করতে পাইথনে for লুপ ব্যবহৃত হয়। সিকুয়েন্সকে ইটারেট করার এই পদ্ধতিকে ট্রাভার্সাল(traversal) বলা হয়।


পাইথনে for স্টেটমেন্ট এর সিনট্যাক্স

for value in sequence:
	Body of for

সিনট্যাক্স এর ব্যাখ্যা

  • এখানে value হচ্ছে ভ্যারিয়েবেল যা প্রতিবার ইটারেশন(iteration) এর সময় সিকুয়েন্স থেকে ভ্যালু গ্রহণ করে।
  • সিকুয়েন্সের শেষ উপাদানে না পৌঁছা পর্যন্ত এই লুপ চলতেই থাকে। for লুপ এর body-কে আলাদা করার জন্য ইন্ডেন্টেশন ব্যবহার করা হয়।

for স্টেটমেন্টের ফ্লোচার্ট

if স্টেটমেন্ট এর ফ্লোচার্ট

উদাহরনঃ পাইথন for লুপ

# এই প্রোগ্রামটি লিস্ট এ জমা রাখা সকল আইটেম 
# এর যোগফল  নির্ণয় করবে।

# সংখ্যার লিস্ট
numbers = [1,9,7,8,2,5,8]

# যোগফল জমা রাখার ভ্যারিয়েবল
sum = 0

# লিস্টের সবগুলো আইটেম পুনরাবৃত্তি(iterate) করবে।
for val in numbers:
	sum = sum+val

# যোগফল প্রিন্ট করবে।
print("The sum is",sum)
# Output: The sum is 40


range() ফাংশন

range() ফাংশন ব্যবহার করে আমরা নাম্বার এর সিকুয়েন্স তৈরি করতে পারি। যেমন- range(10) ফাংশন এর মাধ্যমে 0 থেকে 9 পর্যন্ত ১০টি নাম্বার পাওয়া যায়।

range() ফাংশন এর সিনট্যাক্স

range(start, stop, step size)

প্যারামিটার এর ব্যাখ্যা

  •  start এবং stop যথাক্রমে ব্যবধীর(range) প্রথম এবং শেষ উপাদান।
  • step size হলো উপাদের ক্রমিক ধাপ। কোনো কিছু না বলে দিলে step size এর ডিফল্ট মান 1 থাকে।

range() ফাংশনের সকল ভ্যালু মেমোরিতে সংরক্ষিত হয় না। সুতরাং এটি শুধুমাত্র start, stop এবং step size মনে রাখে এবং সেই অনুযায়ী নাম্বার উৎপাদন করে।

এই ফাংশন এর মাধ্যমে সকল উপাদান বা আইটেম এর আউটপুট নিতে আমরা list() ফাংশন ব্যবহার করতে পারি।

নিচের উদাহরণের মাধ্যমে এটি আপনার কাছে আরও পরিষ্কার হয়ে যাবে।

# রেঞ্জ প্রিন্ট হবে
print(range(10))
# Output: range(0, 10)
 
# 0 থেকে 10 এর মধ্যে রেঞ্জ এর লিস্ট প্রিন্ট হবে
print(list(range(10)))
# Output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
 
# 3 থেকে 6 এর মধ্যে রেঞ্জ এর লিস্ট প্রিন্ট হবে
print(list(range(3,6)))
# Output: [3, 4, 5]

# 4 ব্যবধানে 3 থেকে 20 এর মধ্যে রেঞ্জ এর লিস্ট প্রিন্ট হবে
print(list(range(3, 20, 4)))
# Output: [3, 7, 11, 15, 19]

for লুপ এর মধ্যে range() ফাংশন ব্যবহার করে আমরা নাম্বারের সিকুয়েন্সকে ইটারেট(iterate) করতে পারি। ইন্ডেক্সিং ব্যবহার করে সিকুয়েন্সকে ইটারেট করতে এই ফাংশন এর প্যারামিটার হিসাবে আমরা len() ফাংশন ব্যবহার করতে পারি।

উদাহরণস্বরূপঃ

# index ব্যবহার করে সমগ্র লিস্টকে ইটারেট করবে।
# color এর লিস্ট
color = ['red','green','blue']

# index ব্যবহার করে সম্পূর্ণ লিস্টের পুনরাবৃত্তি ঘটাবে

for i in range(len(color)):
	print("I like",color[i])
# Output:
# My favourite color is red
# My favourite color is green
# My favourite color is blue
    

else সহ for লুপ

for লুপের সাথে অতিরিক্ত হিসাবে else ব্লকও থাকতে পারে। for লুপের কন্ডিশন False হলে else এর কোড ব্লক সম্পাদিত হবে।

for লুপ বন্ধ করার জন্য break স্টেটমেন্ট ব্যবহার করা হয়। এক্ষেত্রে এটি else অংশকে এড়িয়ে যায়।

সুতরাং লুপের else অংশ কেবল তখনই সম্পন্ন হয় যখন কোনো break স্টেটমেন্ট থাকে না এবং কন্ডিশন false হয়।

নিচের উদাহরণের মাধ্যমে এটি আপনার কাছে পরিষ্কার হয়ে যাবে।

                                                                    
# for লুপ এর সাথে else ব্লক এর ব্যবহার

# ডিজিট এর একটি লিস্ট
list_of_digits = [0,1,2,3,4,5,6,7,8,9]

# বিভিন্ন রেজাল্ট পাওয়ার ইনপুট ডিজিট পরিবর্তন করুন
input_digit = 4

# ইউজার থেকে ইনপুট নিতে নিচের কোড এর কমেন্ট তুলে দিন
#input_digit = int(input("Enter a digit: "))

# আমাদের লিস্ট থেকে ইনপুট ডিজিট খুঁজে বের করবে।
for i in list_of_digits:
	if input_digit == i:
		print("Digit is in the list")
		break
	else:
		print("Digit not found in list")

# Output: আপনার ইনপুট এর উপর ভিত্তি করে ফলাফল পাবেন।	

এখানে 0 থেকে 9 পর্যন্ত আমাদের একটি লিস্ট আছে। আমরা ইউজারকে একটি নাম্বার প্রবেশ করাতে বলি এবং আমাদের লিস্টে আছে কি না তা চেক করি। যদি নাম্বারটি আমাদের লিস্টে থাকে তাহলে for লুপ স্থায়ীভাবে বন্ধ হয়ে যাবে।

সুতরাং else অংশ রান করবে না। কিন্তু নাম্বারটি যদি আমাদের লিস্টে না থাকে তাহলে else অংশ রান হবে।



while লুপ

কোনো নির্দিষ্ট কোড ব্লককে রিপিট করার জন্য প্রোগ্রামিং এ লুপ ব্যবহৃত হয়। যতক্ষণ পর্যন্ত testExpression বা কন্ডিশন true থাকে ততক্ষণ পর্যন্ত কোড ব্লককে ইটারেট করার জন্য পাইথনে while লুপ ব্যবহৃত হয়।

কোনো কোড ব্লককে কত সংখ্যকবার ইটারেট(iterate) করতে হবে তা পূর্বে থেকে জানা না থাকলে আমরা সাধারণত লুপ ব্যবহার করি।


পাইথন while লুপ এর সিনট্যাক্স

while testExpression:
    Body of while


Syntax এর ব্যাখ্যা

  • while লুপে প্রথমে testExpression কে চেক করে। প্রোগ্রাম লুপের Body এর মধ্যে কেবল তখনই প্রবেশ করে( লুপের কোড ব্লক রান করে) যখন testEexpression এর মান True হয়।
  • একবার ইটারেশন(iteration) এর পরে testExpression পুনরায় চেক হয়। testExpression এর মান False না হওয়া পর্যন্ত এই প্রক্রিয়া চলতেই থাকে।
  • পাইথনে while লুপের body নির্ণয়ের জন্য ইন্ডেন্টেশন ব্যবহৃত হয়।
  • Body শুরু হয় ইন্ডেন্টেশন দিয়ে এবং শেষ হয় যেখান থেকে প্রথম ইন্ডেন্টেশন শুরু হয়েছিল।
নোটঃ শূন্য নয় এমন যেকোনো ভ্যালুকে পাইথন True হিসাবে গণ্য করে। None এবং 0 কে False হিসাবে গণ্য করে।


while লুপ ফ্লোচার্ট

while লুপ এর ফ্লোচার্ট


উদাহরনঃ পাইথন while লুপ

# স্বাভাবিক সংখ্যার যোগফল নির্ণয়ের প্রোগ্রাম
# sum = 1+2+3+...+n

# ইউজার থেকে ইনপুট গ্রহন এর জন্য 
# কমেন্ট তুলে দিন
# n = int(input("Enter n: "))

n = 10

# count এবং sum কে ইনিশিয়ালাইজ করা
count = 1
sum = 0


while count <= n:
    sum = sum + count
    count = count + 1    # update counter

#যোগফল প্রিন্ট হবে
print("The sum is", sum)


আউটপুট

Enter n: 10
The sum is 55


উদাহরণের ব্যাখ্যা

  • উপরের প্রোগ্রামে testExpression ততক্ষণ পর্যন্ত True থাকবে যতক্ষণ পর্যন্ত ভ্যারিয়েবল count এর মান 10 এর সমান বা ছোট থাকবে। আমাদের প্রোগ্রামে count এর মান 10।
  • লুপের body এর মধ্যে কাউন্টার(counter) ভায়রিয়েবলের মান বৃদ্ধি করা দরকার। এটি অত্যন্ত জরুরী, মজার বিষয় হলো প্রায় সময়ই আমরা এটা করতে ভুলে যায়। এটা করতে ভুলে গেলে প্রোগ্রাম অসীম সংখ্যকবার চলতে থাকবে, অর্থাৎ শেষই হবে না।
  • পরিশেষে ফলাফল প্রদর্শিত হবে।

else সহ while লুপ

for লুপের ন্যায় while লুপেরও অতিরিক্ত else ব্লক থাকতে পারে।

এক্ষেত্রে while লুপের কন্ডিশন False হলে else অংশ সম্পাদিত হয়। while লুপ বন্ধ করার জন্য break স্টেটমেন্ট ব্যবহার করা হয়। এটি else অংশকেও এড়িয়ে যায়।

সুতরাং লুপের else অংশ কেবল তখনই সম্পন্ন হয় যখন কোনো break স্টেটমেন্ট থাকে না এবং কডিশন False হয়।

নিচের উদাহরণের মাধ্যমে এটি আপনার কাছে আরও পরিষ্কার হয়ে যাবে।

# for লুপ এর সাথে else স্টেটমেন্ট এর ব্যবহার

counter = 0

while counter < 5:
    print("Inside while loop")
    counter = counter + 1
else:
    print("Inside  else ")


আউটপুট

Inside while loop
Inside while loop
Inside while loop
Inside while loop
Inside while loop
Inside else


উদাহরণের ব্যাখ্যা

  • উপরের প্রোগ্রামে স্ট্রিং Inside while loop কে ৫ বার প্রিন্ট করার জন্য আমরা কাউন্টার ভ্যারিয়েবল ব্যবহার করেছি।
  • while লুপের ৬ষ্ট ইটারেশনে কন্ডিশন False হয়। সুতরাং else অংশ সম্পাদিত(executed) হয়।


break স্টেটমেন্ট

অন্যান্য প্রোগ্রামিং এর মত পাইথনেও break স্টেটমেন্ট লুপের স্বাভাবিক ফ্লো পরিবর্তন করতে পারে।

টেস্ট এক্সপ্রেশন false না হওয়া পর্যন্ত লুপ(loop) একগুচ্ছ কোডকে ইটারেট(iterate) করতেই থাকে অর্থাৎ একই কোড বার বার এক্সিকিউট করতে থাকে। কিন্তু মাঝেমাঝে আমরা লুপের চলমান ইটারেশন অথবা এমনকি টেস্ট এক্সপ্রেশন চেক না করেই সমগ্র লুপের অবসান ঘটাতে চাই। এক্ষেত্রে break স্টেটমেন্ট ব্যবহত হয়।

পাইথন ব্রেক(break) স্টেটমেন্ট

যে লুপের মধ্যে break স্টেটমেন্ট থাকে সেই লুপকে ব্রেক স্টেটমেন্ট শেষ করে দিতে পারে। অর্থাৎ লুপের সমাপ্তি ঘটাতে পারে। এক্ষেত্রে প্রোগ্রামের কন্ট্রোল লুপের Body থেকে বের হয়ে ঠিক তার পরের স্টেটমেন্টে চলে যায়।

নেস্টেড লুপ(লুপের মধ্যে লুপ)-এর মধ্যে যদি break স্টেটমেন্ট থাকে তাহলে break স্টেটমেন্ট ভেতরের লুপটিকে টার্মিনেট(terminate) করে।


break এর সিনট্যাক্স

break


Break স্টেটমেন্ট এর ফ্লোচার্ট

while লুপ এর ফ্লোচার্ট


break স্টেটমেন্ট এর সাক্ষাৎ পাওয়া মাত্রই প্রোগ্রামের কন্ট্রোল লুপ থেকে বের হয়ে যায়।


for লুপ এবং while লুপ এর মধ্যে break স্টেটমেন্ট কিভাবে কাজ করে নিচে চিত্রের সাহায্যে দেখানো হলোঃ

while লুপ এর ফ্লোচার্ট


উদাহরণ: পাইথন break স্টেটমেন্ট

# for লুপের মধ্যে break স্টেটমেন্টের ব্যবহার

    for value in "bangladesh":
        if value == "e":
            break
        print(value)

    print("stop printing")


আউটপুট

b
a
n
g
l
a
d
stop printing

উদাহরণের ব্যাখ্যা

  • উপরের প্রোগ্রামে আমরা সম্পূর্ন সিকুয়েন্স "bangladesh" কে ইটারেট করতে চেয়েছিলাম। কিন্তু Break স্টেটমেন্টের ব্যবহার দেখানোর জন্য আমরা value ভ্যারিয়েবলের ভ্যালু "e" কিনা চেক করেছি, "e" হলেই for লুপ থেকে বিরিত(break) নিতে চেয়েছি। তাই আমরা আমদের "e" এর পুর্ববর্তী সবগুলো অক্ষরের আউটপুট পেয়েছি। তারপরে লুপের অবসান ঘটেছে।


continue স্টেটমেন্ট

অন্যান্য প্রোগ্রামিং এর মত পাইথনেও continue স্টেটমেন্ট লুপের স্বাভাবিক ফ্লো পরিবর্তন করতে পারে।

টেস্ট এক্সপ্রেশন false না হওয়া পর্যন্ত লুপ(loop) একগুচ্ছ কোডকে ইটারেট(iterate) করতেই থাকে অর্থাৎ একই কোড বার বার এক্সিকিউট করতে থাকে। কিন্তু মাঝেমাঝে আমরা লুপের চলমান ইটারেশনকে এড়িয়ে যেতে চাই। এক্ষেত্রে continue স্টেটমেন্ট ব্যবহত হয়।


পাইথন continue স্টেটমেন্ট

শুধুমাত্র চলমান ইটারেশনের জন্য লুপের মধ্যে বিদ্যমান কোডের এক্সিকিউশনকে এড়িয়ে যাওয়ার জন্য পাইথন continue স্টেটমেন্ট ব্যবহার করা হয়। এক্ষেত্রে লুপের অবসান ঘটে না বরং পরবর্তী ইটারেশনের জন্য লুপ চলমান হয়।

continue এর সিনট্যাক্স

continue

continue স্টেটমেন্ট এর ফ্লোচার্ট

while লুপ এর ফ্লোচার্ট


নিচের চিত্রে for এবং while লুপ এর মধ্যে continue স্টেটমেন্টের ব্যবহার দেখানো হলোঃ

while লুপ এর ফ্লোচার্ট


উদাহরণ: পাইথন continue স্টেটমেন্ট

# for লুপের মধ্যে continue স্টেটমেন্টের ব্যবহার

for value in "bangladesh":
    if value == "e":
        continue
    print(value)

print("stop printing")

আউটপুট

b
a
n
g
l
a
d
s
h
stop printing

উদাহরণের ব্যাখ্যা

  • এই উদাহরণটি পূর্বের অধ্যায়ের উদাহরণের মতই শুধুমাত্র পার্থক্য হচ্ছে এখানে break স্টেটমেন্টের পরিবর্তে continue স্টেটমেন্ট ব্যবহার করা হয়েছে।
  • continue স্টেটমেন্টের ব্যবহার দেখানোর জন্য আমরা value ভ্যারিয়েবলের ভ্যালু "e" কিনা চেক করেছি, "e" হলেই for লুপের চলমান কোড এক্সিকিউশনকে এড়িয়ে পরবর্তী ভ্যালুর জন্য লুপটি পুনরায় চলমান হয়। তাই আমরা "e" ব্যতীত সবগুলো ভ্যালুর আউটপুট দেখতে পেয়েছি।

pass স্টেটমেন্ট


এটি ফাংশন, লুপ ইত্যাদিকে ভবিষ্যতে ব্যাবহার এর জন্য স্থানধারক(placeholder) হিসাবে ব্যবহার করা হয়।

পাইথনে pass একটি ফাঁকা স্টেটমেন্ট। comment এবং pass এর মধ্যে পার্থক্য হচ্ছে ইন্টারপ্রেটার কমেন্টকে সম্পূর্ণভাবে অবজ্ঞা করে কিন্তু pass কে অবজ্ঞা করে না।

যাইহোক pass স্টেটমেন্ট সম্পাদিত হলে কোনো কিছুই ঘটে না। এটি এই ফলাফল দেয় যে, প্রোগ্রামে কোনো অপারেশনই সম্পন্ন হয় নি।


pass এর সিনট্যাক্স

pass

আমরা সাধারণত স্থানধারক হিসাবে এটি ব্যবহার করি।

মনেকরি, আমাদের একটি loop অথবা ফাংশন রয়েছে যার কাজ এখনো করিনি। কিন্তু ভবিষ্যতে আমরা এর কাজ করতে চাই।

পাইথনে loop এর body সাধারনত ফাঁকা রাখা যায় না। কারণ ইন্টারপ্রেটার body এর জন্য অভিযোগ করে বসতে পারে। সুতরাং আমরা pass স্টেটমেন্ট ব্যবহার করি এমন একটি body গঠন করতে যা আসলে কোনো কিছুই করে না।


উদাহরণ: পাইথন pass স্টেটমেন্ট

# pass হলো ভবিষ্যতে ব্যাবহার এর জন্য 
# একটি স্থানধারক(placeholder) 
sequence = {'p', 'a', 's', 's'}
for value in sequence:
    pass
    

একই কাজ আমরা ফাঁকা ফাংশন অথবা ক্লাসেও করতে পারি।

function এ pass স্টেটমেন্ট

# ফাংশনে pass এর ব্যবহার
def function(args):
    pass

class এ pass স্টেটমেন্ট

# ক্লাসে pass এর ব্যবহার
class className:
    pass