offSchoolবেটা

তথ্য ও যোগাযোগ প্রযুক্তি · অধ্যায় ৬

for লুপ ও range(): ১ থেকে ১০ যোগ করতে গিয়ে ৪৫ কেন

মান বদলাও, চালাও, আর দেখো কী ঘটে।

রাকিব ১ থেকে ১০ পর্যন্ত সংখ্যাগুলোর যোগফল বের করতে লিখল: total = 0, তারপর for i in range(1, 10): total = total + i, শেষে print(total)। প্রোগ্রামটি কত ছাপাবে?

range(1, 10) দিয়ে যোগ করলে কত ছাপা হবে?

  1. 55, কারণ range(1, 10) ১ থেকে ১০ পর্যন্ত যায়
  2. 45, কারণ range(1, 10) ১০-এর আগেই থামে, তাই ১ থেকে ৯ যোগ হয়
  3. 10, কারণ লুপ ১০ বার চলে

যা বদলাতে পারবে

  • range শুরু: ০ থেকে ১০
  • range থামা: ০ থেকে ২১
  • range ধাপ: ১ থেকে ৫

যা মেপে দেখাবে

  • আউটপুট
  • total
  • লুপ কতবার চলল
  • i-এর শেষ মান

চালানোর সময় খেয়াল করো

  • লুপ শেষ হলে i-এর শেষ মান কত দেখো। ১০ কি কখনো এসেছিল?

নিজে করে দেখো

  1. range ঠিক করো যাতে ১ থেকে ১০ পর্যন্ত যোগফল 55 ছাপা হয়।
    ইঙ্গিত

    থামার সংখ্যাটি যোগ হয় না।

  2. ২ থেকে ২০ পর্যন্ত কেবল জোড় সংখ্যাগুলো যোগ করো (উত্তর 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 সেই সংখ্যাই হয়

বাস্তবে কোথায় দেখা যায়

  • ক্লাসের সব শিক্ষার্থীর নম্বর একে একে যোগ করে মোট ও গড় বের করা
  • দোকানের দিনের প্রতিটি বিক্রি যোগ করে দিনের মোট বিক্রি হিসাব করা

পাঠ্যবইয়ের টপিক