দশমিক ফ্লোটিং-পয়েন্টের জন্য পাটিগণিত পাইথন দশমিক মডিউল প্রদান করে। এই মডিউলটিতেই শত শত ফাংশন রয়েছে যা দশমিক গণনার দক্ষ প্রক্রিয়াকরণে সাহায্য করে। আমরা এই বিষয়ে গুরুত্বপূর্ণ এবং সর্বাধিক ব্যবহৃত বিষয়গুলি দেখব৷
৷তুলনা ()
এই ফাংশন দশমিক সংখ্যা তুলনা. ১ম ডেসিমেল আর্গুমেন্ট ২য় এর থেকে বড় হলে ১ রিটার্ন করে, ১ম ডেসিমেল আর্গুমেন্ট ২য় থেকে ছোট হলে ১ এবং উভয়ই সমান হলে 0 দেয়।
উদাহরণ
import decimal val1 = decimal.Decimal(2.6) val2 = decimal.Decimal(2.61) # compare decimals print("The result is : ",val1.compare(val2)) # resetting the values val1 = decimal.Decimal(2.6) val2 = decimal.Decimal(-2.6) # compare decimals print("The result is : ",val1.compare(val2)) # resetting the values val1 = decimal.Decimal(2.6) val2 = decimal.Decimal(2.6) # compare decimals print("The result is : ",val1.compare(val2))
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
The result is : -1 The result is : 1 The result is : 0
সর্বোচ্চ() এবং সর্বনিম্ন()
তারা যথাক্রমে সর্বোচ্চ এবং সর্বনিম্ন দুই দশমিক সংখ্যা খুঁজে পায়।
উদাহরণ
import decimal val1 = decimal.Decimal(2.6) val2 = decimal.Decimal(2.61) # compare decimals print("The max value is : ",round(val1.max(val2),2)) print("The min value is : ",round(val1.min(val2),2))
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
The max value is : 2.61 The min value is : 2.60
প্রসঙ্গ পান()
আমরা এই পদ্ধতি ব্যবহার করে পাটিগণিতের ক্রিয়াকলাপের যথার্থতা পরিবর্তন করতে পারি। ডিফল্ট নির্ভুলতা হল 28। নীচের উদাহরণে আমরা একটি গাণিতিক অপারেশন করি যা getcontext().prec.
দ্বারা নির্ধারিত নির্ভুলতা অনুসারে ফলাফল দেখায়।উদাহরণ
from decimal import * print(Decimal(13) / Decimal(7)) getcontext().prec = 6 print(Decimal(13) / Decimal(7)) getcontext().prec = 10 print(Decimal(13) / Decimal(7))
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
1.857142857142857142857142857 1.85714 1.857142857
exp()
প্রদত্ত সংখ্যায় (প্রাকৃতিক) সূচকীয় ফাংশন e**x এর মান ফেরত দিন।
উদাহরণ
from decimal import * #Finding e print(Decimal(1).exp()) #Finding e raised to 2 print(Decimal(2).exp()) #Finding e raised to 4 print(Decimal(4).exp())
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
2.718281828459045235360287471 7.389056098930650227230427461 54.59815003314423907811026120
as_integer_ratio()
কখনও কখনও আমাদের এমন পূর্ণসংখ্যার প্রয়োজন হয় যার বিভাজন আমাদের দশমিককে দেয় যা আমরা নিয়ে কাজ করছি। এটি আমরা as_integer_ratio ().
ব্যবহার করে পেতে পারিউদাহরণ
from decimal import * v = Decimal('2.1834').as_integer_ratio() print(v) v = Decimal('-1.92').as_integer_ratio() print(v)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
(10917, 5000) (-48, 25)
ln() এবং log10()
আমরা এই ফাংশনগুলি ব্যবহার করে প্রাকৃতিক লগারিদম (e হিসাবে একটি বেস সহ) পাশাপাশি বেস 10 লগারিদম গণনা করতে পারি। আমরা দশমিক মান সরবরাহ করি যার লগারিদম প্রয়োজন।
উদাহরণ
from decimal import * ln_val = Decimal('2.1').ln() print(ln_val) log_val = Decimal('2.1').log10() print(log_val)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
0.7419373447293773124826065257 0.3222192947339192680072441618
fma(a,b)
এটি একটি বিশেষ ফাংশন যাকে বলা হয় ফিউজড মাল্টিপ্লাই এবং অ্যাড। সরবরাহকৃত দশমিক প্রথম আর্গুমেন্ট a এর সাথে গুন করা হয় এবং তারপর ফলাফলটি দ্বিতীয় আর্গুমেন্ট b এর সাথে যোগ করা হয়।
উদাহরণ
from decimal import * # Same as (2.1*2)+5 fma_val = Decimal(2.1).fma(2,5) print(fma_val) # Same as (8.1*3)+5 fma_val = Decimal(8.1).fma(3,5) print(fma_val) re class="prettyprint notranslate" >
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
9.200000000000000177635683940 29.29999999999999893418589636