তথ্য ও যোগাযোগ প্রযুক্তি · অধ্যায় ৬
for লুপ ও range(): ১ থেকে ১০ যোগ করতে গিয়ে ৪৫ কেন
মান বদলাও, চালাও, আর দেখো কী ঘটে।
রাকিব ১ থেকে ১০ পর্যন্ত সংখ্যাগুলোর যোগফল বের করতে লিখল: total = 0, তারপর for i in range(1, 10): total = total + i, শেষে print(total)। প্রোগ্রামটি কত ছাপাবে?
range(1, 10) দিয়ে যোগ করলে কত ছাপা হবে?
- 55, কারণ range(1, 10) ১ থেকে ১০ পর্যন্ত যায়
- 45, কারণ range(1, 10) ১০-এর আগেই থামে, তাই ১ থেকে ৯ যোগ হয়
- 10, কারণ লুপ ১০ বার চলে
যা বদলাতে পারবে
- range শুরু: ০ থেকে ১০
- range থামা: ০ থেকে ২১
- range ধাপ: ১ থেকে ৫
যা মেপে দেখাবে
- আউটপুট
- total
- লুপ কতবার চলল
- i-এর শেষ মান
চালানোর সময় খেয়াল করো
- লুপ শেষ হলে i-এর শেষ মান কত দেখো। ১০ কি কখনো এসেছিল?
নিজে করে দেখো
- range ঠিক করো যাতে ১ থেকে ১০ পর্যন্ত যোগফল 55 ছাপা হয়।
ইঙ্গিত
থামার সংখ্যাটি যোগ হয় না।
- ২ থেকে ২০ পর্যন্ত কেবল জোড় সংখ্যাগুলো যোগ করো (উত্তর 110)।
ইঙ্গিত
ধাপ ২ নিলে কী হয়?
ধারণাটা কী?আগে নিজে চালিয়ে দেখো, তারপর খোলো।
range(শুরু, থামা, ধাপ) থামার সংখ্যাটির আগেই শেষ হয়
range(1, 10) দেয় 1, 2, 3, ..., 9; থামার সংখ্যা 10 নিজে এর মধ্যে থাকে না। তাই লুপ ৯ বার চলে এবং total হয় 1 + 2 + ... + 9 = 45। ১ থেকে ১০ পর্যন্ত যোগ করতে range(1, 11) লিখতে হয়, তখন 55 ছাপা হয়। তৃতীয় সংখ্যাটি ধাপ: range(2, 21, 2) দেয় 2, 4, ..., 20।
যেসব ভুল ধারণা হয়
- range(1, 10) এর মধ্যে 10-ও থাকে
- লুপ যতবার চলে total সেই সংখ্যাই হয়
বাস্তবে কোথায় দেখা যায়
- ক্লাসের সব শিক্ষার্থীর নম্বর একে একে যোগ করে মোট ও গড় বের করা
- দোকানের দিনের প্রতিটি বিক্রি যোগ করে দিনের মোট বিক্রি হিসাব করা