Site icon Trickbd.com

[Python Programming] পাইথন দিয়ে বেসিক একটি ক্যালকুলেটর তৈরী করুন। [Python Project]

Tushar Ahmed kih-lagbe.blogspot.com

আসসালামু আলাইকুম! 

আজকের এই পোস্ট-এ আপনাকে স্বাগতম। আশা করছি পুরো পোস্ট-টি মনোযোগ এবং ধৈর্য সহকারে পড়বেন।


তো কেমন আছেন সবাই? 

আশা করছি আল্লাহর অশেষ রহমতে সবাই অনেক ভালোই আছেন।


আজকে আমি পাইথন দিয়ে কিভাবে একটি বেসিক ক্যালকুলেটর তৈরী করা যায় সেটা দেখাবো। চলুন আগে পাইথন সম্পর্কে কিছু তথ্য জেনে নেইঃ-

পাইথন কি?

পাইথন হচ্ছে একটি অবজেক্ট ওরিয়েন্টেড উচ্চ স্তরের প্রোগ্রামিং ভাষা। গিডো ভান রসম ১৯৯১ সালে পাইথন প্রথম প্রকাশ করেন। পাইথন নির্মাণ করার সময় প্রোগ্রামের পঠনযোগ্যতার উপর বেশি গুরুত্ব দেওয়া হয়েছে। এজন্যই অন্যান্য সকল প্রোগ্রামিং ভাষার চেয়ে পাইথনে কোড লেখা অনেকটা সহজ। পাইথন তৈরির সময় প্রোগ্রামারের পরিশ্রমকে কম্পিউটারের চেয়ে বেশি গুরুত্ব দেওয়া হয়েছে। গুগলনাসা‘র মত বড় বড় কোম্পানি পাইথন ব্যবহার করে থাকে।

পাইথন দিয়ে কিভাবে একটি বেসিক ক্যালকুলেটর তৈরি করবেন?

পাইথন কোড লেখার জন্য আমাদের একটি এডিটর লাগবে যেটা পাইথন কোড কম্পাইল করতে সক্ষম। প্লে-স্টোর থেকে Pydroid 3 অ্যাপ্লিকেশন’টি ইনস্টল করুন। 

Pydroid 3 – Playstore Link

ইন্সটল সম্পন্ন হলে যথাক্রমে অ্যাপ্লিকেশন’টি ওপেন করুন। 

ডানপাশে থাকা ফাইল মেনু’তে ক্লিক করুন এবং New – এ ক্লিক করে আপনার ইচ্ছে মতো একটি নাম এবং লোকেশন দিয়ে একটি নতুন ফাইল তৈরী করুন। এক্ষেত্রে খেয়াল রাখবেন ফাইল’টির শেষে যেন .py এক্সটেনশন’টি থাকে।  

নিচের স্ক্রিনশট’টি লক্ষ্য করুনঃ-

একটি বেসিক ক্যালকুলেটর দিয়ে প্রধানত নিচের চারটি কাজ করা হয়ঃ-

আজকের এই পাইথন প্রজেক্ট এ আমরা উপরের চারটি কাজ করতে সক্ষম এমন একটি ক্যালকুলেটর’এর প্রোগাম লিখবো। মনোযোগ দিয়ে পড়তে থাকুন।

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

নিচের স্ক্রিনশট’টি ভালা ভাবে লক্ষ্য করুনঃ-

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

ঠিক একই ভাবে বিয়োগ, গুণ ভাগ করার জন্য subtract, multyply  এবং divide নামে আরও তিনটি ফাংশন তৈরী করুন। 

নিচের স্ক্রিনশট লক্ষ্য করুনঃ-

ব্যাবহারকারী’র কাছে তথ্য প্রদর্শন এবং তথ্য গ্রহণ করুনঃ-

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

আমরা এখন print ব্যবহার করে ইউজার’কে যোগ, বিয়োগ, গুণ এবং ভাগ এই চারটি অপশন দেখাবো বা ডিসপ্লে করবো। 

যেমনঃ-

1. Add
2. Subtract 
3. Multiply
4. Divide

নিচের স্ক্রিনশট’টি লক্ষ্য করুনঃ-

উপরের স্ক্রিনশট’টি দেখলে বুঝতে পারবেন আমি print ব্যবহার করে চারটি অপশন ডিসপ্লে করেছি। আপনি যদি স্ক্রিনশট-এ দেখানো প্লে আইকনে ক্লিক করেন তাহলে চারটি অপশন দেখতে পারবেন। 

পাইথন-এ \n”\ ব্যবহার করে লাইন ব্রেক নেওয়া হয়। দেখতে যেন সুন্দর লাগে তাই \n”\ ব্যবহার করে লাইন ব্রেক দিয়েছি।

ব্যবহারকারীর কাছে থেকে ইনপুট নিনঃ-

উপরের অংশে আমরা ব্যবহারকারী’কে চারটি অপশন দেখিয়েছি। অর্থাৎ 

1. Add

2. Subtract 

3. Multiply

4. Divide 

এখন আমাদের কাজ হচ্ছে ঐ চারটি অপশন থেকে একটি অপশন ব্যবহারকারী থেকে ইনপুট হিসেবে নেওয়া। আমরা এখন ব্যবহারকারী’কে এটা বলবো যে, উপরের চারটি অপশন থেকে যেকোনো একটি বেছে নিতে। 

পাইথন প্রোগ্রামিং – এ আপনি যদি ইউজার এর কাছ থেকে কোনো তথ্য নিতে চান যেমনঃ নাম, নাম্বার, ঠিকানা ইত্যাদি তাহলে আপনাকে input  ব্যবহার করতে হবে। যেমনঃ-

select = int(input(“Select operations from 1, 2, 3, 4: “))

নিচের স্ক্রিনশট’টি ভালোভাবে লক্ষ্য করুনঃ-

উপরের স্ক্রিনশট লক্ষ্য করলে দেখবেন আমি input ব্যবহার করেছি ইউজার এর কাছ থেকে তথ্য নেওয়ার জন্য। input এর আগে int ব্যবহার করেছি কারণ আমি চাই ইউজার যেন  ইন্টিজার অর্থাৎ শুধু নাম্বার ই যেন ইনপুট করে। যেমনঃ (1, 2, 3, 4)। আরেকটু ভালো করে লক্ষ্য করলে দেখবেন আমি প্রথমে select ব্যবহার করেছি। এটি হচ্ছে ভ্যারিয়েবল (Variable)। ভ্যারিয়েবল এর কাজ হচ্ছে কোনো তথ্যকে সংরক্ষণ করা। অর্থাৎ এখানে ইউজার যে নাম্বার ই ইনপুট হিসেবে দিক না কেনো সেটা select নামের ঐ ভ্যারিয়েবলে সংরক্ষণ বা জমা হয়ে থাকবে। উদাহরণ হিসেবে যদি ইউজার 1 ইনপুট করে তাহলে সেই 1 select নামের ভ্যারিয়েবলে জমা হয়ে যাবে।

উদাহরণঃ select = input(“What is your name? :”

select = Tushar Ahmed)

 ভ্যারিয়েবলের নাম আপনি চাইলে অন্য কিছুও দিতে পারেন।

ব্যবহারকারী থেকে দুইটি নাম্বার ইনপুট নিনঃ-

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

এবার আমাদের কাজ হচ্ছে ইউজার এর কাছ থেকে দুইটি নাম্বার ইনপুট হিসেবে নেওয়া যেই দুটি নাম্বার তারা যোগ বা বিয়োগ করতে চায়।

আমরা ইতিমধ্যেই এটা জেনেছি যে পাইথন – এ input ব্যবহার করে ইউজার এর কাছ থেকে তথ্য নিতে হয়। তাই আমরা এবারও input ব্যবহার করবো। আমরা এবারে দুইটা ইনপুট নেবো এবং প্রথম ইনপুট কে number_1 নামের ভ্যারিয়েবলে স্টোর বা সংরক্ষণ করবো। দ্বিতীয় ইনপুট কে number_2 নামের আরেকটি ভ্যারিয়েবলে সংরক্ষণ করবো। যেমনঃ-

number_1 = int(input(“Enter first number: “))

number_2 = int(input(“Enter second number: “))

নিচের স্ক্রিনশট’টি লক্ষ্য করুনঃ-

উপরের স্ক্রিনশট লক্ষ্য করলে বুঝতে পারবেন, আমি দুইটা নাম্বার এর জন্য দুইটা ইনপুট নিয়েছি এবং সেগুলো number_1 number_2 দুইটি ভ্যারিয়েবলে সংরক্ষণ করেছি।


অর্থাৎ ব্যবহারকারী যদি প্রথমে 69 ইনপুট করে তাহলে সেটি number_1 ভ্যারিয়েবলে জমা হয়ে যাবে। তারপর ব্যবহারকারী থেকে দ্বিতীয় ইনপুট  চাওয়া হবে এবং ব্যবহারকারী যদি 79 ইনপুট করে তাহলে সেটি number_2 ভ্যারিয়েবলে জমা হবে।

উদাহরণঃ ইউজার চাচ্ছে দুইটি সংখ্যা যোগ করতে। তাহলে তাকে ইনপুট করতে হবে 1.

select = 1

এখন তাকে বলা হবে আপনি যে দুইটি সংখ্যা যোগ করতে চান তার প্রথম সংখ্যাটি বলুন। ইউজার 69 ইনপুট করলো। তাহলে

number_1 = 69

এবার ইউজারকে বলা হবে আপনার দ্বিতীয় সংখ্যাটি বলুন। ইউজার ইনপুট করলো 79। তাহলে

number_2 = 79

তাহলে এখন আমরা জেনে গেলাম ব্যবহারকারী ঠিক কি করতে চায়। ব্যবহারকারী চায় 69 এর সাথে 79 যোগ করতে। এবার আমাদের কাজ হবে  if কন্ডিশন ব্যবহার করে কাজটি করা এবং ইউজারকে সেই ফলাফল দেখানো।

এই অংশটুকুই প্রোগ্রাম এর প্রধান অংশ এবং এর মাধ্যমেই হিসাব-নিকাশ এর কাজটি সম্পন্ন হবে। তাই মনোযোগ দিয়ে দেখবেন। 

আমাদের কাছে ব্যবহারকারী থেকে নেওয়া সব তথ্য আছে যেগুলো তিনটা ভ্যারিয়েবলের মধ্যে রয়েছে। যেমনঃ

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

উপরের স্ক্রিনশট লক্ষ্য করলে দেখবেন যে,

 if select == 1 অর্থাৎ যদি select ভ্যারিয়েবলের মধ্যে 1 থাকে তাহলে add নামে আমরা যে ফাংশন তৈরী করেছিলাম সেটা এখানে কল করেছি। add নামের ফাংশন কল করেছি কারন select ভ্যারিয়েবলে 1 আছে অর্থাৎ ব্যবহারকারী সংখ্যা যোগ করতে চাচ্ছেন। add ফাংশন আমরা আগেই তৈরী করেছিলাম এবং এর মধ্যে আগে থেকেই বলে দেওয়া আছে ফাংশনটি ঠিক কি কাজ করবে। তাই শুধু ফাংশন কল করলেই হবে। add ফাংশন তো কল করলাম কিন্তু এখন কথা হচ্ছে কার সাথে কার যোগ করবে? মনে আছে ব্যবহারকারী দুইটা সংখ্যা ইনপুট করেছিলো যেগুলো number_1 এবং number_2 ভ্যারিয়েবলে জমা আছে। 

তাই আমরা লিখেছি   add(number_1, number_2)

অর্থাৎ যে দুইটা নাম্বার number_1  এবং number_2 ভ্যারিয়েবলে থাকবে সেটা যোগ হয়ে ফলাফল দেখিয়ে দেবে।

এবার আমরা elif ব্যবহার করে বিয়োগ, গুণ ও ভাগ করার জন্য যে ফাংশনগুলো তৈরী করেছিলাম ঐগুলোকে ঠিক উপরের মতো করে একটা একটা করে কল করবো।

 নিচের স্ক্রিনশট’টি লক্ষ্য করুনঃ-

সর্বশেষে else কন্ডিশন ব্যবহার করবো। যদি উপরের কন্ডিশনগুলো সত্যি না হয় তাহলে else কন্ডিশনে থাকা মেসেজটি ডিসপ্লে হবে।

সবকিছু ঠিক থাকলে নিচের প্লে আইকনে ক্লিক করে কোড রান করালে প্রোগ্রামটি চালু হয়ে যাবে। নিচের স্ক্রিনশট’টি দেখুনঃ-

যারা পাইথন এর ব্যাসিক জানেন তারা হয়তো সহজেই আমার এই লেখাটি বুঝে গেছেন। আর যারা একদমই নতুন তারা হয়তো একটু কনফিউজড। আসলে আমি চেষ্টা করেছি খুব সহজ করে বোঝানোর। চেষ্টা করেছি যেনো নতুন যারা আছেন তারাও বুঝতে পারেন। জানি না কতটুকু সফল হয়েছি। ভুল ত্রুটি ক্ষমাসুন্দর দৃষ্টিতে দেখবেন এই আশা করছি। 

ছোট্ট এই পাইথন প্রজেক্ট’টির কোড নিচের লিংকে দিয়ে দিলাম। যারা পাইথন শিখতে আগ্রহী তারা কোডগুলো নিয়ে নিজের মতো এক্সপ্লোর করতে পারেন। নিজে নিজে কোডের মধ্যে কিছু চেঞ্জ করে বোঝার বা শেখার চেষ্টা করতে পারেন।

সোর্স কোড লিংকঃ-

Basic Calculator – Source Code

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

বুঝতে বা আমার লেখায় কোন ভুল-ত্রুটি থাকলে অবশ্যই কমেন্ট বক্সে আপনাদের মতামত জানাবেন। 


আপনাকে অসংখ্য ধন্যবাদ এতক্ষণ লেখাটি পড়ার জন্য। আপনার সময় অনেক অনেক ভালো কাটুক।

ফেসবুকে আমি