আমাদের কথা খুঁজে নিন

   

মজার প্রোগ্রামিং, সহজ প্রোগ্রামিং [পর্ব-০৭] :: পাইথন প্রোগ্রামিং

বন্ধুরা, আজ আবার হাজির হলাম আপনাদের মাঝে । আশা করি সবাই ভাল আছেন। আমরা আজকে আলোচনা করব Def Function নিয়ে । আসুন জেনে নিই Def Function আসলে কী ?
Def Function : একটু খাটি বাংলা ভাষায় বলি । এর আগে আপনারা অনেক ফাংশন নিয়ে কাজ করেছেন ।

যেমন : while, if,elif , print। Def Function টা হল এসব ফাংশনের সহায়তা নিয়ে বা না নিয়ে নিজে থেকেই নিজের প্রয়োজন মত ফাংশন তৈরী করে নেওয়া । Def Function কে তুলনা করতে পারেন আপনার বাড়ির কাজের লোকের মত । তাকে আপনি যখন ডাকবেন তখন সে এসে আপনার প্রয়োজনীয় কাজ করে দিয়ে যাবে । একটা ছোট্ট উদাহরণ দিলে বিষয়টা আরও ক্লিয়ার হবে ।

আবার এটার একটা বহুল ব্যবহার হল একই জিনিস বার বার ব্যবহার করা যায় । অর্থাত আপনি একটা ফাংশন তৈরী করলে আপনি সেটা বার বার ব্যবহার করতে পারবেন । উদাহরণ টা দিই, ব্যাপারটা বুঝতে পারবেন । আমরা যেমন আগের পর্বে দেখেছিলাম কীভাবে কোন সংখ্যার অ্যবসলিউট ভ্যালু বের করতে হয় । সেটি আমরা একটা ফাংশনের মাধ্যমে প্রকাশ করব ।


এখানে আমরা প্রথমে একটা ফাংশন তৈর করেছি যেটা কোন সংখ্যর অ্যাবসলিউট ভ্যালু বের করবে । দেখুন সেটা কে আমরা বলেছি যে n এর মান যদি ০ এর থেকে ছোট হয় তবে -n রির্টান কর । এখানে একটা return পাইথনের ডিফল্ট ফাংশন । এরপর n নামের এক ভ্যারিয়েবল এর মাধ্যমে এর মান ইনপুট নিয়ে এর অ্যবসলিউট ভ্যালু বের করেছি । এর মান ঋণাত্মক ইনপুট দিয়ে দেখুন এটি ধনাত্মক মান রির্টান করে ।

এখানে absolute_value(n) টা হল আপনার তৈরী একটি ফাংশন । আরেকটা উদাহরণ দেই ।
দেখুন আমি এখনে দুটি ফাংশন তৈরী করেছি যার প্রথমটা প্রিন্ট করবে I am a programmer এবং i know programming এ বাক্য দুটি । এরপরের ফাংশনটি প্রিন্ট করবে আমি যে নাম তাকে বলে দেব সেটিই । দেখুন পরে আমি শুধু print_function নামের ফাংশনটি প্রিন্ট করেছি ।

তারপর ২য় ফাংশনে এর স্থলে আমি বলে দিয়েছি যে কী প্রিন্ট করতে হবে । ফাংশনটি তাই প্রিন্ট করেছে । আর একটি ছোট্ট প্রোগ্রাম :
এখানে আমরা একটি ফাংশন তৈরী করেছি যেটি কোন সংখ্যার বর্গ তৈরী করে । তারপর while 1 == 1: দ্বারা বলেছি যে ফাংশনটি আজীবন চালিয়ে যেতে ।
আসুন আজ আমরা এই আমাদের হ্যন্ড মেড ফাংশন দিয়ে তৈরী করে ফেলি ছোট্ট একটা অকাজের ক্যালকুলেটর ।

এটি আমরা আগে যা কিছু শিথেছি সবকিছুরই মিলিত একটা ফল । নীচের কোডটি লিখুন :
দেখুন প্রথমে আমরা ৪ টি ফাংশন তৈর করেছি যা থেকে আমরা যোগ , বিয়োগ , গুণ ও ভাগ করতে পারব । তারপর আমরা আরও ওএকটি ফাংশন তৈরী করেছি যেটি ওই লেখাগুলো প্রিন্ট করবে । আমাদের ফাংশন রৈীর কাজ শেষ । এবার এগুলো ব্যবহার করার পালা ।

দেখুন এরপর আমরা menu_choice নামে একটা ভ্ররিয়েবর নিয়েছি যার একটি মান দিয়েছি "" । তাপর আমরা print_option() টি ব্যবহারকারীকে দেখানোর জন্য এটি নিয়ে এসেছি । এখানে w, x, y,z এগুলো কোন ভ্যরিয়েবল না । জাষ্ট ব্যবহারকারীর সুবিধার জন্য আমরা এগুলো লিখেছি । এর ব্যবহার সম্পর্কে পরে বলছি ।

যেহেতু আমরা বলেছি যে e চাপলে প্রোগ্রামটি শেষ হবে তাই এখানে While loop এর অবতারণা করে বলেছি যতক্ষণ menu_choice এর ইনপুট e না হয় ততক্ষণ প্রোগ্রামটি রানিং রাখতে । এবার আমরা IF স্টেটমেন্ট এর সাহায্যে বলেছি যখন menu_choice হবে w, তখন যোগের জন্য দুটি সংখ্যা ইনপুট নিতে । ইনপুট দেওয়ার পর আমরা এর রেজাল্ট প্রিন্ট করেছি আমাদের তৈরী করা add(f,l) ফাংশনের মাধ্যমে । আর যেহেতু print_option() এ যোগ, বিয়োগ , গুণ ওভাগ এর জন্য যথাক্রমে w, x, y,z চাপতে বলেছি তাই আমরা IF স্টেটমেন্ট এর সাহায্যে সেইমত menu_choice এর সাথে মিল রেখে যোগ , বিয়োগ , গুণ ওভাগ এর ইনপুট নিয়েছি ও ফাংশনের মাধ্যমে তার ফলাফল বের করে প্রিন্ট করেছি । এবং প্রতিটি IF স্টেটমেন্ট শেষ হওয়ার পরে আমরা print_option() এর মাধ্যমে আবার মেনু চয়েচ টা ব্যবহারকারকে মনে করিয়ে দিয়েছি ।

এখন একেবারে শেষে আমরা বলেছি menu_choice এর ইনপুট না মিললে ("please a correct key") লেখা প্রিন্ট করতে । এবং যখন ব্যবহারকারী e চাপবে তখন ("bye.........") লেখাটি প্রিন্ট করতে । যাহোক আপনারা এমন সব প্রোগ্রাম নিজে নিজে তৈরী করে ফেলুন । যেমন : ২ টি সংখ্যার বর্গ নির্ণয় , ঘন নির্ণয় , মিটার থেকে সেন্টিমিটারে রূপান্তর প্রর্ভতি প্রোগ্রাম যা করতে পারেন । আবার আপনি যদি চান এই ক্যালকুলেটরের সাথে বর্গ নির্ণয় , ঘন নির্ণয় , মিটার থেকে সেন্টিমিটারে বা কিলোতে রূপান্তর, অ্যবসলিউট ভ্যালু নির্ণয় প্রভৃতি জুড়ে দিবেন তাও করতে পারেন ।

আর না বুঝলে বলুন । যথাসাধ্য বোঝানোর চেষ্টা করব ।

সোর্স: http://www.techtunes.com.bd/

অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।

প্রাসঙ্গিক আরো কথা
Related contents feature is in beta version.