কম্পিউটার টিউটোরিয়াল

পাইথন: কীভাবে দুটি দশমিক স্থানে রাউন্ড করবেন

পাইথনে কীভাবে একটি ভ্যালু দুটি দশমিক স্থানে রাউন্ড করবেন? সেটি একটি চমৎকার প্রশ্ন। خوشকিস্মতিশ, পাইথন কিছু ফাংশন অফার করে যা আপনাকে নম্বর রাউন্ড করতে দেয়।

দুটি দশমিক স্থানে নম্বর রাউন্ড করা कॉमन। টাকা শুধু দুটি দশমিক স্থান ব্যবহার করে; আপনি থার্ড দশমিক স্থানে একটি মানিটারি ভ্যালু প্রসেস করতে চাবেন না। ওজন প্রায়শই দুটি দশমিক স্থানে রিপ্রেজেন্ট করা হয়; এক্সট্রা ভ্যালু অতিরিক্ত প্রিসিশনের জন্য যা অধিকাংশ কেসে প্রয়োজন নয়।

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

round() ব্যবহার করে নম্বর রাউন্ড করা

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

meal_cost = input("How much did your meal cost? ")
friends = input("How many friends were with you? ")

এরপর, আসুন ক্যালকুলেট করি প্রতিটি ফ্রেন্ড ডিনারের জন্য কত পেয় করবে। আমরা ধরে নিচ্ছি প্রতিটি ফ্রেন্ড সমান অমাউন্ট পেয় করবে, সে অর্ডার করল যetaই কেন না:

cost_per_friend = float(meal_cost) / float(friends)

আমরা "meal_cost" এবং "friends" উভয়কে ফ্লোটিং পয়েন্ট নম্বরে কনভার্ট করেছি। এর কারণ হলো input() মেথড একটি স্ট্রিং রিটার্ন করে। আপনি পাইথনের ম্যাথ অপারেটর ব্যবহার করে একটি স্ট্রিং ভ্যালুর ওপর ম্যাথম্যাটিক্যাল ক্যালকুলেশন পারফর্ম করতে পারবেন না।

এখন, আসুন এই ভ্যালু দুটি দশমিক স্থানে রাউন্ড করি। আমরা round() মেথড ব্যবহার করি। round() মেথড আপনাকে একটি ভ্যালু নিকটতম ইন্টিজার বা নিকটতম দশমিক স্থানে রাউন্ড করতে দেয়।

আমরা প্রতিটি ফ্রেন্ডকে ডিনারের জন্য কন্ট্রিবিউট করতে হবে সেটি কনসোলে প্রিন্ট করি:

rounded_value = round(cost_per_friend, 2)
print("Each friend must pay $" + str(rounded_value) + " for dinner.")

আমরা বিল্ট-ইন round() ফাংশন ব্যবহার করেছি "cost_per_friend"-এর ভ্যালু দুটি দশমিক স্থানে রাউন্ড করতে। এরপর, আমরা স্ট্রিং কনক্যাটেনেশন ব্যবহার করেছি একটি মেসেজ তৈরি করতে যা আমরা কনসোলে প্রিন্ট করি। এই মেসেজ আমাদের জানিয়ে দেয় প্রতিটি ফ্রেন্ডকে তাদের ডিনারের জন্য কত পেয় করতে হবে।

আমাদের কোড রান করি আমাদের ফাংশন কাজ করছে কিনা দেখতে:

How much did your meal cost? 64.92
How many friends were with you? 6
Each friend must pay $10.82 for dinner.

যদি আমরা ৬৪.৯২ কে ছয় দিয়ে ভাগ করতাম রাউন্ড না করে, আমরা অনেক দশমিক বিশিষ্ট একটি নম্বর দেখতাম। আমাদের কোড আমাদের ডিভিশন সমের ফলাফল দুটি দশমিক স্থানে রাউন্ড করে প্রতিটি ফ্রেন্ডকে $১০.৮২ পেয় করতে হবে বলে ক্যালকুলেট করল।

স্ট্রিং ফরম্যাটিং ব্যবহার করে নম্বর রাউন্ড করা

আমাদের শেষ উদাহরণে, আমরা রাউন্ডেড নম্বর একটি স্ট্রিংয়ে দেখিয়েছি। একটি নম্বর রাউন্ড করার আরেকটি উপায় রয়েছে যদি এর একমাত্র উদ্দেশ্য একটি স্ট্রিংয়ে দেখানো হয়। এই মেথড শুধু পাইথন ৩.x-এ সাপোর্টেড।

আমরা আমাদের কোড রিভাইজ করি প্রতিটি ফ্রেন্ডকে ডিনারের জন্য পেয় করতে হবে সেটি .format() স্ট্রিং ফরম্যাটিং সিনট্যাক্স ব্যবহার করে রাউন্ড করতে।

শুরুতে ক্যালকুলেট করি প্রতিটি ফ্রেন্ডকে কত পেয় করতে হবে:

meal_cost = input("How much did your meal cost? ")
friends = input("How many friends were with you? ")
cost_per_friend = float(meal_cost) / float(friends)

এরপর, একটি print() স্টেটমেন্ট লিখি যা আমাদের জানিয়ে দেয় প্রতিটি ফ্রেন্ডকে ডিনারের জন্য কত পেয় করতে হবে। আমরা print() স্টেটমেন্টের সাথে একটি .format() স্টেটমেন্ট ব্যবহার করি। এটি আমাদের স্ট্রিংয়ের ভিতরে ভ্যালু ফরম্যাট করতে দেয়:

print("Each friend must pay ${:0.2f} for dinner.".format(cost_per_friend))

আমাদের .format() স্টেটমেন্ট নিচের সিনট্যাক্স ব্যবহার করে একটি ডেসিমেল রিপ্রেজেন্টেশন তৈরি করে যা দুটি দশমিক স্থানে রাউন্ড করা হয়েছে:

{:0.2f}

কোলন (:) আমাদের কোডকে বলে আমরা একটি ভ্যালু ফরম্যাট করতে চাই। জিরোটি ব্যবহার করা হয়েছে পাইথনকে অবগত করাতে যে আমরা এমন একটি নম্বরের সাথে কাজ করছি যেটি জিরো দিয়ে প্যাডেড হতে পারে। .2 পাইথনকে ইনস্ট্রাক্ট করে আমাদের নম্বর দুটি দশমিক স্থানে রাউন্ড করতে। "f" আমাদের ভ্যালু নম্বর হিসেবে দেখায়।

আমাদের কোড রান করি এবং দেখি কী হয়:

How much did your meal cost? 64.92
How many friends were with you? 6
Each friend must pay $10.82 for dinner.

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

এই মেথড আমাদের প্রথম কোড স্নিপেটের চেয়ে বেশি এফিশিয়েন্ট কারণ আমরা শুধু একটি ভ্যালু কনসোলে প্রিন্ট করতে চাই। এই কোডে, আমরা round() স্টেটমেন্ট ব্যবহার করিনি।

যদি আমরা আমাদের রাউন্ডেড ভ্যালু আমাদের কোডে আরও ব্যবহার করার ইচ্ছা করতাম, স্ট্রিং ফরম্যাটিং সিনট্যাক্স অপ্র্যাকটিক্যাল হত।

উপসংহার

দুটি দশমিক স্থানে ভ্যালু রাউন্ড করার সবচেয়ে সাধারণ পদ্ধতিগুলো:

  • round() মেথড ব্যবহার করা
  • স্ট্রিং ফরম্যাটিং ব্যবহার করা

প্রথম মেথড যেকোনো কেসে ভালো যেখানে আপনাকে একটি নম্বর রাউন্ড করতে হয়। দ্বিতীয় মেথড শুধু কাজ করে যদি আপনি একটি স্ট্রিংয়ে ব্যবহার করার জন্য ভ্যালু রাউন্ড করতে চান এবং আপনি পাইথন ৩.x ব্যবহার করছেন।

এখন আপনি আপনার কোডে দুটি দশমিক স্থানে ভ্যালু রাউন্ড করার প্রো মত প্রস্তুত!

  1. MySQL-এ ROUND() ফাংশন ব্যবহার করে ক্যালকুলেশন ২ দশমিক পর্যন্ত রাউন্ড করা

  2. Python-এ Pandas DataFrame কলামের দশমিক স্থানের সংখ্যা রাউন্ড (Round) করার পদ্ধতি

  3. পাইথনে দুটি প্লাট সাইড-বাই-সাইড তৈরি করার পদ্ধতি

  4. সহজ এক্সেল রাউন্ডিং: ফর্মুলা ছাড়া ৩টি দ্রুত পদ্ধতি