পাইথন জেম- ২

আগের পর্ব-

গত পর্বে আমরা দেখেছি পাইথনের কিছু ডাটা টাইপ – integer, floating point এবং string।

আজকে আমরা কোন সংখ্যা/ডাটা integer টাইপের কিনা তা চেক করার কিছু কোড দেখব।

ধরুন, আমরা জানতে চাই, ‘x’ এর টাইপ integer কিনা !

x এর মাঝে যদি 7.5 থাকে তবে তা float টাইপের এবং যদি 7 থাকে তবে তা integer টাইপের হবে। এই কনসেপ্টটা ব্যবহার করেই আমরা কোন নাম্বার (x) integer কিনা তা চেক করতে পারি নিচের কোডটা দিয়েঃ

if x>0:

if x – int(x)==0:

print “It is an integer.”

প্রথমে আমরা চেক করছি ‘x’ শুন্য এর চেয়ে বড় কিনা ! কারণ বড় না হলে এর পরের লাইনের হিসাবটা করা কষ্ট হয়ে যাবে।

পরের লাইনে আমরা হিসাব করছি ‘x-int(x)’ এর মান। এর মান যদি শুন্য হয় তবে আমরা প্রিন্ট করছি ‘It is an integer’

x= 7 হলে যা ঘটবেঃ

1

যখন x = 7.5 হবে তখনঃ

2

এখানে আমরা একটা else স্ট্যাটমেন্ট যোগ করছি 7.5 যে integer না তা দেখানোর জন্য। if-else সম্পর্কে আমরা পরবর্তী পর্বগুলোতে জানতে পারব।

আচ্ছা আমরা x-int(x) কেন ব্যবহার করছি?

যখন x= 7.5 হচ্ছে তখন এই লাইনের আউটপুট হচ্ছে-

7.5-int(7.5) = 7.5 – 7 = 0.5, যা 0 এর সমান না হওয়াতে else এ লেখা “It is not an integer” প্রিন্ট হচ্ছে।

আর x=7 এর ক্ষেত্রে-

7-int(7) = 7 -7 = 0, ফলে প্রিন্ট হচ্ছে “It is  an integer”

এভাবে আমরা কোন সংখ্যা integer কিনা তা চেক করতে পারি।

এই জিনিসটা আরও কয়েকভাবে করা যায়। যেমন-

1

এখানে, আমরা চেক করছি, x**2 – int(x**2) এর মান শুন্য এর থেকে বড় কিনা ! x**2 মানে হচ্ছে x এর power ২।

x = 7.5 হলে এর আউটপুট হবেঃ

7.5**2 – int(7.5**2) = 56.25 – int(56.25) = 56.25 – 56 = 0.25, যা কিনা শুন্য এর চেয়ে বড়।

তাই প্রিন্ট হবে “It is not an integer!”

 

আরেকটা টেকনিকঃ

2

 

এখানে আসলে দুটো টেকনিক দেখানো হয়েছে।

প্রথম if এ আমরা শুধু পাইথনের type() ফাংশনটা ব্যবহার করে লজিক্যাল আর্গুমেন্টে যাচ্ছি। আমরা বলছি যদি x এর type সমান int (পাইথন integer কে int আকারে প্রকাশ করে) হয় তবে “It is an integer” প্রিন্ট করতে।

দ্বিতীয় if এ (যেটাকে আমরা elif লিখেছি, যা পরে ব্যাখ্যা করা হবে) আমরা বলছি যদি x এর integer format এর বর্গ করে তাকে x দিয়েই ভাগ করে আবার x এর মানটাই পাই তবে তা একটা integer অর্থাৎ “It is an integer” প্রিন্ট হবে।

এটার ব্যাখ্যা এভাবে দেওয়া যায়, যদি x=7.5 হয় তবে এই লাইনের আউটপুট হবে-

int(7.5)**2/7.5 = 7**2 / 7.5 = 49 / 7.5 = 6.53, যা integer না। ফলে প্রিন্ট হবে “It is not an integer”

আরেকটি টেকনিক হচ্ছেঃ

4

এখানে আমরা if statement এ চেক করছি x % 1 এর মান 0 কিনা। “%” দিয়ে ভাগশেষ (remainder) নির্ণয় করা হয়। এখানে যা হচ্ছে,

x % 1 = 7.5 % 1 = 0.5, যা শুন্য নয়। ফলে প্রিন্ট হচ্ছে “It is not an integer.”

যদি x = 7 হত তবে,

x % 1 = 7 % 1 = 0, অর্থাৎ এটা একটা integer!

পাইথনে ভাগশেষের ব্যাপারটা এখনি বুঝা একটু কষ্টকর হবে। কারণ পাইথনে ভাগ করার নিয়মটা অন্যান্য ভাষার তুলনায় একটু ভিন্ন। এটা নিয়ে পরে কোন একদিন আলোচনা হবে !

 

 

আজকে এই পর্যন্তই !

 

একটা প্রশ্ন দিয়ে যাচ্ছিঃ

যখন x= 7.0 (not 7 or 7.5) হয় তখন উপরের কোডগুলোর আউটপুট কী হবে? 7.0 কী integer নাকি floating point number?

আর পাইথন কিভাবে ইন্সটল করে রান করাতে হয় এসম্পর্কে গুগল করলে অনেক রিসোর্স পাওয়া যাবে। আমি আমার লেখাতে রেফারেন্স হিসেবে পাইথনের 2.7.6 ভার্সনটা ব্যবহার করছি।

 

 

 

 

Md. Noor Faizur Reza
Author: Md. Noor Faizur Reza

আমার যে কাজ ভালো লাগে তা নিয়ে সারাদিন পরে থাকি !

Permanent link to this article: https://www.borgomul.com/rezanur/2314/


মন্তব্য করুন আপনার ফেসবুক প্রোফাইল ব্যবহার করে

মন্তব্য করুন