offSchoolবেটা

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

৫ আর ৩ যোগ করলে ৫৩ কেন: input() ও টাইপ কাস্টিং

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

মিতু দুটি সংখ্যার যোগফল বের করার প্রোগ্রাম লিখল: a = input(), b = input(), তারপর print(a + b)। চালিয়ে সে প্রথমে 5 আর পরে 3 টাইপ করল। স্ক্রিনে কী দেখা যাবে?

5 আর 3 টাইপ করলে কী ছাপা হবে?

  1. 8, কারণ 5 + 3 = 8
  2. 53, কারণ input() লেখা (str) দেয় আর + দুটি লেখা জোড়া লাগায়
  3. ভুল দেখাবে, কারণ লেখা যোগ করা যায় না

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

  • প্রথম টাইপ করা সংখ্যা: ০ থেকে ৯৯
  • দ্বিতীয় টাইপ করা সংখ্যা: ০ থেকে ৯৯
  • input()-কে int() দিয়ে মোড়াও: চালু বা বন্ধ

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

  • আউটপুট
  • ছাপা সংখ্যা
  • লেখা হিসেবে জোড়া লেগেছে

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

  • int() চালু করে আবার চালাও। ভ্যারিয়েবলের ঘরে a-এর মানের চারপাশে উদ্ধৃতিচিহ্ন আছে কি?

নিজে করে দেখো

  1. প্রোগ্রামটি এমনভাবে ঠিক করো যাতে 5 আর 3 টাইপ করলে 8 ছাপা হয়।
    ইঙ্গিত

    টাইপ করা লেখাকে সংখ্যায় বদলাতে হবে।

  2. int() ছাড়া এমন দুটি সংখ্যা টাইপ করো যাতে 2026 ছাপা হয়।
    ইঙ্গিত

    লেখা জোড়া লাগলে কী হয় ভাবো।

ধারণাটা কী?আগে নিজে চালিয়ে দেখো, তারপর খোলো।

input() সবসময় স্ট্রিং দেয়; সংখ্যা হিসেবে যোগ করতে int() দিয়ে টাইপ কাস্টিং করতে হয়

"5"+"3"="53"int("5")+int("3")=8\text{"5"} + \text{"3"} = \text{"53"} \qquad \text{int}(\text{"5"}) + \text{int}(\text{"3"}) = 8

কি-বোর্ড থেকে যা টাইপ করা হয়, input() তা লেখা বা স্ট্রিং (str) হিসেবে দেয়, সংখ্যা হিসেবে নয়। দুটি স্ট্রিংয়ের মাঝে + দিলে পাইথন সেগুলো পাশাপাশি জোড়া লাগায়, তাই "5" + "3" হয় "53"। int(input()) লিখলে টাইপ করা লেখাটি পূর্ণসংখ্যায় (int) রূপান্তরিত হয়; একে টাইপ কাস্টিং বলে। তখন 5 + 3 = 8 ছাপা হয়।

যেসব ভুল ধারণা হয়

  • সংখ্যা টাইপ করলে input() সংখ্যাই দেয়
  • লেখার (স্ট্রিং) মাঝে + ব্যবহার করলে ভুল হয়

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

  • অনলাইন ফর্মে বয়স বা নম্বর নেওয়ার পর হিসাব করার আগে সেটিকে সংখ্যায় রূপান্তর করা
  • মোবাইল নম্বরের মতো তথ্য স্ট্রিং হিসেবেই রাখা, যাতে শুরুর ০ হারিয়ে না যায়

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