তথ্য ও যোগাযোগ প্রযুক্তি · অধ্যায় ৬
৫ আর ৩ যোগ করলে ৫৩ কেন: input() ও টাইপ কাস্টিং
মান বদলাও, চালাও, আর দেখো কী ঘটে।
মিতু দুটি সংখ্যার যোগফল বের করার প্রোগ্রাম লিখল: a = input(), b = input(), তারপর print(a + b)। চালিয়ে সে প্রথমে 5 আর পরে 3 টাইপ করল। স্ক্রিনে কী দেখা যাবে?
5 আর 3 টাইপ করলে কী ছাপা হবে?
- 8, কারণ 5 + 3 = 8
- 53, কারণ input() লেখা (str) দেয় আর + দুটি লেখা জোড়া লাগায়
- ভুল দেখাবে, কারণ লেখা যোগ করা যায় না
যা বদলাতে পারবে
- প্রথম টাইপ করা সংখ্যা: ০ থেকে ৯৯
- দ্বিতীয় টাইপ করা সংখ্যা: ০ থেকে ৯৯
- input()-কে int() দিয়ে মোড়াও: চালু বা বন্ধ
যা মেপে দেখাবে
- আউটপুট
- ছাপা সংখ্যা
- লেখা হিসেবে জোড়া লেগেছে
চালানোর সময় খেয়াল করো
- int() চালু করে আবার চালাও। ভ্যারিয়েবলের ঘরে a-এর মানের চারপাশে উদ্ধৃতিচিহ্ন আছে কি?
নিজে করে দেখো
- প্রোগ্রামটি এমনভাবে ঠিক করো যাতে 5 আর 3 টাইপ করলে 8 ছাপা হয়।
ইঙ্গিত
টাইপ করা লেখাকে সংখ্যায় বদলাতে হবে।
- int() ছাড়া এমন দুটি সংখ্যা টাইপ করো যাতে 2026 ছাপা হয়।
ইঙ্গিত
লেখা জোড়া লাগলে কী হয় ভাবো।
ধারণাটা কী?আগে নিজে চালিয়ে দেখো, তারপর খোলো।
input() সবসময় স্ট্রিং দেয়; সংখ্যা হিসেবে যোগ করতে int() দিয়ে টাইপ কাস্টিং করতে হয়
কি-বোর্ড থেকে যা টাইপ করা হয়, input() তা লেখা বা স্ট্রিং (str) হিসেবে দেয়, সংখ্যা হিসেবে নয়। দুটি স্ট্রিংয়ের মাঝে + দিলে পাইথন সেগুলো পাশাপাশি জোড়া লাগায়, তাই "5" + "3" হয় "53"। int(input()) লিখলে টাইপ করা লেখাটি পূর্ণসংখ্যায় (int) রূপান্তরিত হয়; একে টাইপ কাস্টিং বলে। তখন 5 + 3 = 8 ছাপা হয়।
যেসব ভুল ধারণা হয়
- সংখ্যা টাইপ করলে input() সংখ্যাই দেয়
- লেখার (স্ট্রিং) মাঝে + ব্যবহার করলে ভুল হয়
বাস্তবে কোথায় দেখা যায়
- অনলাইন ফর্মে বয়স বা নম্বর নেওয়ার পর হিসাব করার আগে সেটিকে সংখ্যায় রূপান্তর করা
- মোবাইল নম্বরের মতো তথ্য স্ট্রিং হিসেবেই রাখা, যাতে শুরুর ০ হারিয়ে না যায়