Python এ বেশ কয়েক রকমের ডাটা টাইপ রয়েছে। তবে সবগুলো নিয়ে এখানে আলোচনা করবো না। এই আলোচনার মধ্যে গুরুত্বপূর্ণ যেসব ডাটা টাইপ বাদ যাবে, সেগুলো Data Structure সেকশানে আলোচনা করবো ইনশা আল্লাহ্।
শুরুতেই এই প্রব্লেমটা সহজ ভাষায় ব্যাখ্যা করার চেষ্টা করি । Figure : 1 খেয়াল করো । একটি সমদ্বিবাহু ত্রিভুজের ভূমি b এবং উচ্চতা h দেওয়া আছে । প্রথমে এর তিনটি কোণকে সমদ্বিখণ্ডিত করতে হবে । সমত্রিখণ্ডক তিনটির ছেদবিন্দু (চিত্রে O বিন্দু)-কে কেন্দ্র করে এমন একটি বৃত্ত আঁকতে হবে যেটি ত্রিভুজের ৩টি বাহুকে স্পর্শ করে । তারপর আরও একটি বৃত্ত (এই রঙের ) আঁকতে হবে যেটি ত্রিভুজের সমান দুই বাহু (চিত্রে AB এবং AC ) কে এবং তার নিচের বৃত্তকেও (এই রঙের ) স্পর্শ করে । এর উপরের বৃত্তগুলোও এভাবে এঁকে যেতে হবে । কিন্তু এভাবে তো অসীম সংখ্যক বার যাওয়া যাবে; তাহলে থামবো কোথায় ? এই প্রশ্নের উত্তর মূল স্টেটমেন্টেই দেওয়া আছে । এই যে বৃত্তের একটা Stack তৈরি হচ্ছে, যে বৃত্তের ব্যাসার্ধ 0.000001 এর চেয়ে ছোট হয়ে যাবে, তখনই আমাদের থেমে যেতে হবে ! প্রব্লেমের আউটপুটে দিতে হবে Stack এর সবগুলো বৃত্তের পরিধির যোগফল । তো, বৃত্তের পরিধি হিসেব করতে হলে আমাদের কী জানতে হবে ? অবশ্যই বৃত্তের ব্যাসার্ধ । কীভাবে আমরা এই বৃত্তগুলোর ব্যাসার্ধ বের করতে পারি ? প্রথমে আমরা Figure : 1 এর ΔABC থেকে ΔABD কে ...
C/C++ এ ভেরিয়েবল ডিক্লেয়ার করার জন্য ভেরিয়েবলের নামের আগে ডাটা টাইপ লিখতে হয়; কিন্তু পাইথনে সেটার প্রয়োজন হয় না। যেমন: num = 10 tax = 2.5 name = "Nayeem Mahmood" এখানে ৩টা ভেরিয়েবল ডিক্লেয়ার করে ইনিশিয়াল ভ্যালু এসাইন করে দিলাম। এরা কে কোন টাইপের, সেটা চাইলেই আমরা জানতে পারি। print ( type ( num )) print ( type ( tax )) print ( type ( name )) উপরের কোডটা যদি রান করি, তাহলে এরকম আউটপুট পাবো আমরা: <class 'int'> <class 'float'> <class 'str'> এই ডাটা টাইপগুলো নিয়ে আমরা পরে আলোচনা করবো। আরেকটা মজার ব্যাপার হলো (কখনো কখনো বিপদজনকও হতে পারে :p), পাইথনে ভেরিয়েবলের টাইপ চেঞ্জ করা যায় রান টাইমের মধ্যেই। কিন্তু C/C++ এ এটা সম্ভব না। যেমন, আমি উপরের কোডগুলো সহ যদি নিচের কোডটা রান করি, tax = "No more tax!" print ( type ( tax )) তাহলে আউটপুট পাবো এরকম: <class 'str'> দেখলে তো, tax এর টাইপ float থেকে str হয়ে গেলো। আরেকটা মজার সিনট্যাক্স দেখাই। একটা স্টেটমেন্ট দিয়ে মাল্টিপল ভেরি...
সি++ এর মতোই এখানেও বুলিয়ান টাইপ রয়েছে। পার্থক্য শুধু এর ভ্যালুতে। সি++ এ বুলিয়ান ভ্যারিয়েবলের ভ্যালু হচ্ছে true অথবা false, পাইথনে হলো True অথবা False. x = True y = False print ( x , type ( x )) print ( y , type ( y )) আউটপুট: True <class 'bool'> False <class 'bool'>
Comments
Post a Comment