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

24
491

বন্ধুরা, আজ আবার হাজির হলাম আপনাদের মাঝে ।আশা করি সবাই ভাল আছেন। আমরা আজকে আলোচনা করব Def Function নিয়ে । আসুন জেনে নিই Def Function আসলে কী ?

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

def absolute_value(n):
    if n < 0:
        n =-n
    return n
n = float(input("enter the number : "))
print("ab value is : ",absolute_value(x))

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

def print_function():
    print("I am a programmer")
    print("i know programming")
def welcome(name):
    print("wellcome ", name)
print_function()
welcome("programmer")

দেখুন আমি এখনে দুটি ফাংশন তৈরী করেছি যার প্রথমটা প্রিন্ট করবে I am a programmer এবং
i know programming এ বাক্য দুটি । এরপরের ফাংশনটি প্রিন্ট করবে আমি যে নাম তাকে বলে দেব সেটিই । দেখুন পরে আমি শুধু print_function নামের ফাংশনটি প্রিন্ট করেছি । তারপর ২য় ফাংশনে এর স্থলে আমি বলে দিয়েছি যে কী প্রিন্ট করতে হবে । ফাংশনটি তাই প্রিন্ট করেছে । আর একটি ছোট্ট প্রোগ্রাম :

def square(x):
    return x*x
while 1 == 1:
    x = float(input("enter a number : "))
    print("result = ",square(x))

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

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

def add(f,l):
    return f+l
def minu(a,b):
    return a-b
def intu(g,h):
    return g*h
def div(t,u):
    return t/u
def print_option():
    print("press w to + numbers")
    print("press x to - a number")
    print("press y to * numbers")
    print("press z to / 2 numbers")
    print("press e to exit")
menu_choice = "k"
print_option()
while menu_choice != "e":
    menu_choice = input("enter your choice : ")
    if menu_choice == "w":
        f = float(input("1st number: "))
        l = float(input(
            "2nd number: "))
        print("result = ", add(f,l))
        print_option()
    elif menu_choice == "x":
        a = float(input("from number: "))
        b = float(input("to number : "))
        print("result = ",minu(a,b))
        print_option()
    elif menu_choice == "y":
        g = float(input("enter 1st number: "))
        h = float(input("enter 2nd numbers : "))
        print("result = ",intu(g,h))
        print_option()
    elif menu_choice == "z":
        t = float(input("enter the number you want to devide : "))
        u = float(input("enter the number by which youn want to devide : "))
        print("result = ",div(t,u))
        print_option()
    elif menu_choice == "e":
        print("bye.........")
    else:
        print("please press a correct key")
        print_option()

দেখুন প্রথমে আমরা ৪ টি ফাংশন তৈর করেছি যা থেকে আমরা যোগ , বিয়োগ , গুণ ও ভাগ করতে পারব । তারপর আমরা আরও ওএকটি ফাংশন তৈরী করেছি যেটি ওই লেখাগুলো প্রিন্ট করবে । আমাদের ফাংশন রৈীর কাজ শেষ । এবার এগুলো ব্যবহার করার পালা । দেখুন এরপর আমরা 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………”) লেখাটি প্রিন্ট করতে । যাহোক আপনারা এমন সব প্রোগ্রাম নিজে নিজে তৈরী করে ফেলুন । যেমন : ২ টি সংখ্যার বর্গ নির্ণয় , ঘন নির্ণয় , মিটার থেকে সেন্টিমিটারে রূপান্তর প্রর্ভতি প্রোগ্রাম যা করতে পারেন । আবার আপনি যদি চান এই ক্যালকুলেটরের সাথে বর্গ নির্ণয় , ঘন নির্ণয় , মিটার থেকে সেন্টিমিটারে বা কিলোতে রূপান্তর, অ্যবসলিউট ভ্যালু নির্ণয় প্রভৃতি জুড়ে দিবেন তাও করতে পারেন । আর না বুঝলে বলুন । যথাসাধ্য বোঝানোর চেষ্টা করব ।

24 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here