এই আর্টিকেলে আমরা নিচের সমস্যা স্টেটমেন্টের সমাধান শিখব।
সমস্যা স্টেটমেন্ট - আমাদের একটি লিস্ট ইটারেবল দেওয়া আছে, আমাদের সেটিতে পজিটিভ ও নেগেটিভ সংখ্যা কাউন্ট করে ডিসপ্লে করতে হবে।
অ্যাপ্রোচ ১ - ব্রুট-ফোর্স পদ্ধতি for লুপ ব্যবহার করে
এখানে আমরা for লুপ ব্যবহার করে লিস্টের প্রতিটি এলিমেন্ট ইটারেট করি এবং চেক করি num >= 0, পজিটিভ নম্বর ফিল্টার করার জন্য। শর্ত true হলে pos_count বাড়ায়, অন্যথায় neg_count বাড়ায়।
উদাহরণ
list1 = [1, -2, -4, 6, 7, -23, 45, -0]
pos_count, neg_count = 0, 0
# enhanced for loop
for num in list1:
# পজিটিভ চেক
if num >= 0:
pos_count += 1
else:
neg_count += 1
print("Positive numbers in the list: ", pos_count)
print("Negative numbers in the list: ", neg_count)
আউটপুট
Positive numbers in the list: 5 Negative numbers in the list: 3
অ্যাপ্রোচ ২ - ব্রুট-ফোর্স পদ্ধতি while লুপ ব্যবহার করে
এখানে আমরা while লুপ ব্যবহার করে লিস্টের প্রতিটি এলিমেন্ট ইটারেট করি এবং চেক করি num >= 0। শর্ত true হলে pos_count বাড়ায়, অন্যথায় neg_count বাড়ায়।
উদাহরণ
list1 = [1, -2, -4, 6, 7, -23, 45, -0]
pos_count, neg_count = 0, 0
num = 0
# while লুপ
while (num < len(list1)):
# চেক
if list1[num] >= 0:
pos_count += 1
else:
neg_count += 1
# ইনক্রিমেন্ট
num += 1
print("Positive numbers in the list: ", pos_count)
print("Negative numbers in the list: ", neg_count)
আউটপুট
Positive numbers in the list: 5 Negative numbers in the list: 3
অ্যাপ্রোচ ৩ - পাইথন ল্যাম্বডা এক্সপ্রেশন ব্যবহার
এখানে আমরা filter এবং ল্যাম্বডা এক্সপ্রেশন ব্যবহার করে সরাসরি পজিটিভ ও নেগেটিভ নম্বর ডিফারেনশিয়েট করি।
উদাহরণ
list1 = [1, -2, -4, 6, 7, -23, 45, -0]
neg_count = len(list(filter(lambda x: (x < 0), list1)))
pos_count = len(list(filter(lambda x: (x >= 0), list1)))
print("Positive numbers in the list: ", pos_count)
print("Negative numbers in the list: ", neg_count)
আউটপুট
Positive numbers in the list: 5 Negative numbers in the list: 3
সব ভেরিয়েবল লোকাল স্কোপে ডিক্লেয়ার করা হয়েছে এবং তাদের রেফারেন্স উপরের ফিগার থেকে দেখা যাচ্ছে।
উপসংহার
এই আর্টিকেলে আমরা শিখেছি কীভাবে লিস্টে পজিটিভ ও নেগেটিভ সংখ্যা কাউন্ট করা যায়।