পাইথন সম্পর্কে সমস্ত উদাহরণ সহ লুপ

পাইথন সম্পর্কে সমস্ত উদাহরণ সহ লুপ

উত্স নোড: 3091323

ভূমিকা

A while loop হল পাইথনে একটি মৌলিক নিয়ন্ত্রণ প্রবাহ বিবৃতি যা আপনাকে বারবার কোডের একটি ব্লক কার্যকর করতে দেয় যতক্ষণ না একটি নির্দিষ্ট শর্ত সত্য হয়। এটি পুনরাবৃত্তিমূলক কাজগুলিকে স্বয়ংক্রিয় করার এবং মানগুলির একটি ক্রম ধরে পুনরাবৃত্তি করার একটি উপায় সরবরাহ করে। এই নিবন্ধটি পাইথনে থাকাকালীন লুপগুলির সিনট্যাক্স, ব্যবহার এবং বিভিন্ন অ্যাপ্লিকেশন অন্বেষণ করবে।

Python while loop

সুচিপত্র

একটি সময় লুপের সিনট্যাক্স এবং কাঠামো

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

while condition:
    # code to be executed

শর্তটি একটি বুলিয়ান এক্সপ্রেশন যা নির্ধারণ করে যে লুপটি চালিয়ে যাওয়া বা বন্ধ করা উচিত। শর্তটি সত্য বলে বিবেচিত হলে, লুপের ভিতরের কোড ব্লকটি বারবার কার্যকর করা হবে। শর্তটি False হয়ে গেলে, লুপটি প্রস্থান করবে, এবং প্রোগ্রামটি লুপের পরে পরবর্তী বিবৃতি দিয়ে চলতে থাকবে।

মৌলিক ব্যবহার এবং উদাহরণ

একটি while লুপের মৌলিক ব্যবহার বোঝার জন্য একটি সাধারণ উদাহরণ দিয়ে শুরু করা যাক। ধরুন আমরা 1 থেকে 5 পর্যন্ত সংখ্যা প্রিন্ট করতে চাই। আমরা একটি while লুপ ব্যবহার করে এটি অর্জন করতে পারি, যেমনটি নীচে দেখানো হয়েছে:

num = 1
while num <= 5:
    print(num)
    num += 1

আউটপুট

1

2

3

4

5

এই উদাহরণে, আমরা ভেরিয়েবল `num`-কে 1-এ আরম্ভ করি। `num` 5-এর থেকে কম বা সমান হলে যখন লুপ চলতে থাকে। লুপের ভিতরে, আমরা `num`-এর মান প্রিন্ট করি এবং তারপর এটি ব্যবহার করে 1 দ্বারা বৃদ্ধি করি। `+=` অপারেটর। 'সংখ্যা' 6 না হওয়া পর্যন্ত এই প্রক্রিয়াটি পুনরাবৃত্তি হয়, যখন শর্তটি মিথ্যা হয়ে যায় এবং লুপটি বন্ধ হয়ে যায়।

লুপ কন্ট্রোল স্টেটমেন্ট দিয়ে প্রবাহ নিয়ন্ত্রণ করা

পাইথন তিনটি লুপ কন্ট্রোল স্টেটমেন্ট প্রদান করে, 'ব্রেক', 'কন্টিনিউ', এবং 'পাস', যাতে আপনি কিছুক্ষণ লুপের প্রবাহ নিয়ন্ত্রণ করতে পারেন।

"ব্রেক" বিবৃতি

লুপ কন্ডিশন সত্য হলেও অকালে লুপ থেকে প্রস্থান করতে `ব্রেক` স্টেটমেন্ট ব্যবহার করা হয়। এটি প্রায়শই ব্যবহৃত হয় যখন একটি নির্দিষ্ট শর্ত পূরণ হয়, এবং আপনি অবিলম্বে লুপটি বন্ধ করতে চান। এখানে একটি উদাহরণ:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

আউটপুট

1

2

3

4

5

এই উদাহরণে, লুপটি বন্ধ হয়ে যায় যখন `সংখ্যা` 6 হয় কারণ আমরা if কন্ডিশনের ভিতরে `break` স্টেটমেন্ট ব্যবহার করেছি। ফলে শুধু 1 থেকে 5 পর্যন্ত সংখ্যা ছাপা হয়।

"চালিয়ে যান" বিবৃতি

লুপের ভিতরে থাকা কোড ব্লকের বাকি অংশ বাদ দিতে এবং পরবর্তী পুনরাবৃত্তিতে যাওয়ার জন্য `continue` স্টেটমেন্ট ব্যবহার করা হয়। আপনি যখন নির্দিষ্ট মান বা শর্তগুলি এড়িয়ে যেতে এবং পরবর্তী পুনরাবৃত্তি চালিয়ে যেতে চান তখন এটি কার্যকর। এখানে একটি উদাহরণ:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

আউটপুট

1

2

4

5

এই উদাহরণে, লুপটি মান 3 এড়িয়ে যায় কারণ আমরা if কন্ডিশনের ভিতরে `continue` স্টেটমেন্ট ব্যবহার করেছি। ফলস্বরূপ, সংখ্যা 3 মুদ্রিত হয় না, এবং লুপ পরবর্তী পুনরাবৃত্তির সাথে চলতে থাকে।

"পাস" বিবৃতি

যখন আপনি লুপের ভিতরে কিছু করতে চান না তখন 'পাস' বিবৃতিটি একটি স্থানধারক। এটি প্রায়শই বিকাশের সময় বা যখন আপনি একটি খালি লুপ তৈরি করতে চান তখন একটি অস্থায়ী স্থানধারক হিসাবে ব্যবহৃত হয়। এখানে একটি উদাহরণ:

num = 1
while num <= 5:
    pass
    num += 1

এই উদাহরণে, `pass` স্টেটমেন্ট কিছুই করে না, এবং লুপ `num`-এর মান 6 না হওয়া পর্যন্ত বৃদ্ধি করে।

সাধারণ ব্যবহারের ক্ষেত্রে এবং অ্যাপ্লিকেশন

পাইথনে লুপগুলির বিস্তৃত অ্যাপ্লিকেশন রয়েছে। আসুন কিছু সাধারণ ব্যবহারের ক্ষেত্রে অন্বেষণ করা যাক:

একটি শর্ত পূরণ না হওয়া পর্যন্ত পুনরাবৃত্তি করা

একটি নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত আপনি পুনরাবৃত্তি করতে চান যখন loops সাধারণত ব্যবহার করা হয়. উদাহরণস্বরূপ, আমরা 2-এর চেয়ে বড় 1000-এর প্রথম শক্তি খুঁজে পেতে চাই। এটি অর্জন করতে আমরা একটি while লুপ ব্যবহার করতে পারি:

num = 1
while num <= 1000:
    num *= 2
print(num)

আউটপুট

1024

এই উদাহরণে, লুপ চলতে থাকে যতক্ষণ না `num` 1000 ছাড়িয়ে যায়। প্রতিটি পুনরাবৃত্তির জন্য, `num` কে 2 দ্বারা গুণ করা হয় এবং চূড়ান্ত মান মুদ্রিত হয়।

ব্যবহারকারীর ইনপুট বৈধতা

যদিও লুপগুলি ব্যবহারকারীর ইনপুট যাচাই করার জন্য এবং ইনপুট নির্দিষ্ট মানদণ্ড পূরণ করে তা নিশ্চিত করার জন্য দরকারী। উদাহরণস্বরূপ, আমরা ব্যবহারকারীকে একটি ধনাত্মক পূর্ণসংখ্যা লিখতে অনুরোধ করতে চাই। একটি বৈধ পূর্ণসংখ্যা বারবার প্রবেশ করা না হওয়া পর্যন্ত আমরা ইনপুট জিজ্ঞাসা করতে একটি while লুপ ব্যবহার করতে পারি:

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

এই উদাহরণে, একটি বৈধ ধনাত্মক পূর্ণসংখ্যা প্রবেশ করা না হওয়া পর্যন্ত লুপটি অনির্দিষ্টকালের জন্য চলতে থাকে। ইনপুটকে পূর্ণসংখ্যাতে রূপান্তর করার সময় 'ট্রাই-ব্যতীত' ব্লক সম্ভাব্য ত্রুটিগুলি পরিচালনা করে।

অসীম লুপ তৈরি করা

যখন লুপগুলি অসীম লুপ তৈরি করতে ব্যবহার করা যেতে পারে, যা একটি নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত অনির্দিষ্টকালের জন্য চলতে থাকে। উদাহরণস্বরূপ, আসুন একটি সাধারণ অসীম লুপ তৈরি করি যা প্রিন্ট করে "হ্যালো, ওয়ার্ল্ড!" পুনঃপুনঃ:

while True:
    print("Hello, World!")

এই উদাহরণে, লুপ অবস্থা সর্বদা সত্য, তাই লুপ অনির্দিষ্টকালের জন্য চলতে থাকে। লুপটি বন্ধ করতে, আপনি `ব্রেক` স্টেটমেন্ট ব্যবহার করতে পারেন বা প্রোগ্রাম এক্সিকিউশনে বাধা দিতে পারেন।

রিয়েল-টাইম মনিটরিং বা লগিং সিস্টেমের প্রসঙ্গে একটি অসীম লুপ কার্যকর হতে পারে। এমন একটি পরিস্থিতি কল্পনা করুন যেখানে আপনাকে নির্দিষ্ট ইভেন্ট বা পরিবর্তনের জন্য একটি সিস্টেম বা নেটওয়ার্ককে ক্রমাগত পর্যবেক্ষণ করতে হবে এবং তথ্য লগ করতে হবে। এই শর্তগুলি পরীক্ষা করতে এবং ক্রমাগত যথাযথ পদক্ষেপ নিতে একটি অসীম লুপ নিযুক্ত করা যেতে পারে।

গেম লুপ বাস্তবায়ন করা

যদিও লুপগুলি সাধারণত গেমের বিকাশে গেম লুপগুলি বাস্তবায়নের জন্য ব্যবহৃত হয়, যা গেমের প্রবাহ নিয়ন্ত্রণ করে এবং ব্যবহারকারীর ইনপুট পরিচালনা করে। একটি গেম লুপে সাধারণত তিনটি প্রধান উপাদান থাকে: গেমের অবস্থা আপডেট করা, গেমের গ্রাফিক্স রেন্ডার করা এবং ব্যবহারকারীর ইনপুট পরিচালনা করা। এখানে একটি সরলীকৃত উদাহরণ:

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

এই উদাহরণে, লুপ চলতে থাকে যতক্ষণ না `game_running` ভেরিয়েবলটি True থাকে। লুপের ভিতরে, আপনি গেমের অবস্থা আপডেট করবেন, গেমের গ্রাফিক্স রেন্ডার করবেন এবং ব্যবহারকারীর ইনপুট পরিচালনা করবেন। এই প্রক্রিয়াটি পুনরাবৃত্তি হয় যতক্ষণ না গেমটি শেষ হয় বা প্লেয়ার প্রস্থান করার সিদ্ধান্ত নেয়।

আরও পড়ুন: স্ক্র্যাচ থেকে ডেটা সায়েন্স শেখার জন্য একটি সম্পূর্ণ পাইথন টিউটোরিয়াল

লুপ এবং লুপ নেস্টিংয়ের সময় নেস্টেড

পাইথন লুপ করার সময় আপনাকে নেস্ট করার অনুমতি দেয়, যার মানে আপনি অন্য যখন লুপের ভিতরে একটি সময় লুপ থাকতে পারেন। এটি দরকারী যখন আপনাকে পুনরাবৃত্তিমূলক কাজের মধ্যে পুনরাবৃত্তিমূলক কাজগুলি করতে হবে। এখানে একটি উদাহরণ:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

আউটপুট

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

এই উদাহরণে, আমাদের কাছে একটি বাইরের যখন লুপ রয়েছে যা 1 থেকে 3 পর্যন্ত পুনরাবৃত্তি হয় এবং একটি অভ্যন্তরীণ যখন লুপ রয়েছে যা প্রতিটি বাইরের লুপের পুনরাবৃত্তির জন্য 1 থেকে 3 পর্যন্ত পুনরাবৃত্তি করে। ভিতরের লুপের ভিতরে প্রিন্ট স্টেটমেন্ট উভয় লুপ ভেরিয়েবলের মান প্রদর্শন করে।

যখন লুপগুলি ব্যবহার করার জন্য টিপস এবং সর্বোত্তম অভ্যাস

লুপগুলি শক্তিশালী নির্মাণ হলেও, সঠিকভাবে ব্যবহার না করা হলে সেগুলি ত্রুটির প্রবণ হতে পারে। যখন লুপগুলি ব্যবহার করার সময় মনে রাখতে কিছু টিপস এবং সর্বোত্তম অনুশীলনগুলি এখানে রয়েছে:

সঠিকভাবে ভেরিয়েবল শুরু করা

কিছুক্ষণ লুপে প্রবেশ করার আগে, যেকোনো লুপ ভেরিয়েবলকে তাদের প্রারম্ভিক মানগুলিতে শুরু করুন। এটি নিশ্চিত করে যে লুপের অবস্থা সঠিকভাবে মূল্যায়ন করা হয়েছে এবং অপ্রত্যাশিত আচরণ প্রতিরোধ করে। উদাহরণ স্বরূপ:

count = 0
while count < 10:
    print(count)
    count += 1

এই উদাহরণে, আমরা লুপে প্রবেশ করার আগে ভেরিয়েবল `গণনা` 0 থেকে শুরু করি।

লুপ সমাপ্তি নিশ্চিত করা

অসীম লুপ এড়াতে, সর্বদা নিশ্চিত করুন যে লুপের অবস্থা শেষ পর্যন্ত মিথ্যা হয়ে যাবে। এটি লুপ ভেরিয়েবল আপডেট করে বা লুপ কন্ট্রোল স্টেটমেন্ট যেমন `ব্রেক` ব্যবহার করে অর্জন করা যেতে পারে। উদাহরণ স্বরূপ:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

এই উদাহরণে, লুপটি বন্ধ হয়ে যায় যখন `ব্রেক` স্টেটমেন্টের কারণে `সংখ্যা` 6 হয়।

অসীম লুপ এড়িয়ে চলা

কখনই বন্ধ না হওয়া অসীম লুপগুলি তৈরি এড়াতে যখন লুপগুলি ব্যবহার করার সময় সতর্ক থাকুন৷ অসীম লুপ প্রোগ্রাম ক্র্যাশ হতে পারে এবং অতিরিক্ত সিস্টেম রিসোর্স গ্রাস করতে পারে। সর্বদা আপনার লুপের অবস্থার দুবার পরীক্ষা করুন এবং নিশ্চিত করুন যে সেগুলি কিছু সময়ে মিথ্যা হয়ে উঠতে পারে।

পঠনযোগ্য এবং রক্ষণাবেক্ষণযোগ্য কোড লেখা

যদিও লুপগুলি জটিল এবং সঠিকভাবে না লিখলে বোঝা কঠিন হতে পারে। অর্থপূর্ণ পরিবর্তনশীল নাম ব্যবহার করুন, লুপের উদ্দেশ্য ব্যাখ্যা করতে মন্তব্য যোগ করুন এবং জটিল কাজগুলোকে ছোট সাবটাস্কে বিভক্ত করুন। এটি আপনার কোড আরও পঠনযোগ্য এবং রক্ষণাবেক্ষণযোগ্য করে তোলে।

উন্নত কৌশল এবং কৌশল

যদিও লুপগুলি নির্দিষ্ট কাজগুলি অর্জনের জন্য উন্নত উপায়ে ব্যবহার করা যেতে পারে। এখানে কিছু উন্নত কৌশল এবং কৌশল রয়েছে:

অন্য বিবৃতি দিয়ে লুপ করা

Python-এ, লুপ কন্ডিশন False হয়ে গেলে কোড ব্লক চালানোর জন্য আপনি while loop সহ একটি অন্য স্টেটমেন্ট ব্যবহার করতে পারেন। অন্য ব্লকটি শুধুমাত্র তখনই কার্যকর করা হয় যদি লুপটি কোনো বিরতি বিবৃতি ছাড়াই স্বাভাবিকভাবে সম্পন্ন হয়। এখানে একটি উদাহরণ:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

আউটপুট

1

2

3

4

5

লুপ সম্পন্ন হয়েছে

এই উদাহরণে, লুপটি স্বাভাবিকভাবে সম্পূর্ণ হওয়ার পরে else ব্লকটি কার্যকর করা হয়।

লিস্ট এবং স্ট্রিং সহ যখন লুপ ব্যবহার করা

যখন লুপগুলি একটি সূচক ভেরিয়েবল ব্যবহার করে তালিকা এবং স্ট্রিংগুলির উপর পুনরাবৃত্তি করতে ব্যবহার করা যেতে পারে। এখানে একটি উদাহরণ:

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

আউটপুট

আপেল

কলা

চেরি

এই উদাহরণে, যখন লুপ সূচক ভেরিয়েবল ব্যবহার করে `ফল` তালিকার উপাদানগুলির উপর পুনরাবৃত্তি করে।

এছাড়াও পড়ুন: পাইথনে অন্তর্নির্মিত ডেটা স্ট্রাকচার সম্পর্কে আপনার যা কিছু জানা উচিত – একটি শিক্ষানবিস গাইড!

পাইথনে অন্যান্য লুপিং কনস্ট্রাক্টের সাথে তুলনা

যদিও লুপগুলি পাইথনে উপলব্ধ বেশ কয়েকটি লুপিং কনস্ট্রাক্টের মধ্যে একটি মাত্র। আসুন লুপ এবং পুনরাবৃত্তির সাথে লুপ করার সময় তুলনা করি:

যখন Loops বনাম Loops জন্য

যদিও লুপ এবং লুপ উভয়ই পুনরাবৃত্তির জন্য ব্যবহৃত হয়, তাদের বিভিন্ন ব্যবহারের ক্ষেত্রে রয়েছে। যদিও লুপগুলি আরও নমনীয় এবং জটিল অবস্থাগুলি পরিচালনা করতে পারে, যখন লুপগুলির জন্য মানগুলির একটি ক্রম ধরে পুনরাবৃত্তি করার জন্য আরও উপযুক্ত। যখন আপনি আগে থেকে পুনরাবৃত্তির সঠিক সংখ্যা জানেন না বা জটিল গণনা করতে হবে তখন লুপগুলি দরকারী। আপনি যখন একটি তালিকা বা স্ট্রিংয়ের মতো মানগুলির একটি ক্রম পুনরাবৃত্তি করতে চান তখন লুপগুলি দরকারী।

যখন Loops বনাম. Recursion

Recursion হল একটি কৌশল যেখানে একটি ফাংশন একটি সমস্যা সমাধানের জন্য নিজেকে কল করে। এটি while loops এর মতো পুনরাবৃত্তিমূলক কাজগুলি অর্জন করতে ব্যবহার করা যেতে পারে তবে এর কিছু পার্থক্য রয়েছে। যদিও লুপগুলি পুনরাবৃত্তিমূলক কাজের জন্য আরও উপযুক্ত যেখানে আপনার একটি পরিষ্কার পরিসমাপ্তি শর্ত রয়েছে এবং অবশ্যই একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি করতে হবে। পুনরাবৃত্তি ছোট উপ-সমস্যা, যেমন অনুসন্ধান, বাছাই, এবং ট্রি ট্রাভার্সাল অ্যালগরিদমগুলিতে বিভক্ত সমস্যাগুলি সমাধানের জন্য আরও উপযুক্ত।

উপসংহার

এই নিবন্ধে, আমরা পাইথনে while loops এর ধারণাটি অন্বেষণ করেছি। আমরা তাদের সিনট্যাক্স, মৌলিক ব্যবহার এবং বিভিন্ন অ্যাপ্লিকেশন সম্পর্কে শিখেছি। আমরা টিপস, সর্বোত্তম অনুশীলন, সাধারণ ভুল এবং যখন লুপ ব্যবহার করার জন্য উন্নত কৌশল নিয়ে আলোচনা করেছি। অবশেষে, আমরা পাইথনের অন্যান্য লুপিং কনস্ট্রাক্টের সাথে যখন লুপগুলি তুলনা করি। এই জ্ঞানের সাহায্যে, আপনি এখন কার্যকরভাবে ব্যবহার করতে পারেন যখন লুপগুলি পুনরাবৃত্তিমূলক কাজগুলিকে স্বয়ংক্রিয় করতে এবং আপনার পাইথন প্রোগ্রামগুলিতে মানগুলির ক্রমগুলির উপর পুনরাবৃত্তি করতে পারেন৷

AI এবং ML শ্রেষ্ঠত্বের শক্তি আনলক করুন! আমাদের এখন নথিভুক্ত সার্টিফাইড এআই এবং এমএল ব্ল্যাকবেল্ট প্লাস প্রোগ্রাম এবং আপনার দক্ষতাকে নতুন উচ্চতায় উন্নীত করুন। সর্বশেষ প্রযুক্তিগুলি আয়ত্ত করার সুযোগ হাতছাড়া করবেন না – আজই আপনার ক্যারিয়ার রূপান্তর করুন!

এছাড়াও, আপনি যদি অনলাইনে পাইথন কোর্স খুঁজছেন, আমাদের অন্বেষণ করুন - পাইথন প্রোগ্রামের পরিচিতি আজ!

সময় স্ট্যাম্প:

থেকে আরো বিশ্লেষণ বিদ্যা