কম্পিউটার

পাইথনে divmod() এবং এর অ্যাপ্লিকেশন


divmod() হল পাইথনের স্ট্যান্ডার্ড লাইব্রেরির অংশ যা দুটি সংখ্যাকে প্যারামিটার হিসাবে নেয় এবং ভাগফল এবং ভাগফলকে তাদের ভাগের অবশিষ্টাংশকে একটি টিপল হিসাবে দেয়। সংখ্যার বিভাজ্যতা পরীক্ষা করা এবং একটি সংখ্যা মৌলিক কি না তা নির্ধারণ করার মতো অনেক গাণিতিক অ্যাপ্লিকেশনে এটি কার্যকর।

সিনট্যাক্স

Syntax: divmod(a, b)
a and b : b divides a
a and b are integers or floats

উদাহরণ

নীচের উদাহরণে পূর্ণসংখ্যা এবং ফ্লোট উভয়ের ক্ষেত্রেই দেখুন। divmod() প্রয়োগে তারা আমাদের একটি ফলস্বরূপ টিপল দেয় যা পূর্ণসংখ্যা এবং ফ্লোট মানও ধারণ করতে পারে।

# with integers
print("5 and 2 give:",divmod(5,2))
print("25 and 5 give:",divmod(25,5))

# with Floats
print("5.6 and 2 give:",divmod(5.6,2))
print("11.3 and 9.2 give:",divmod(11.3,9.2))

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

5 and 2 give: (2, 1)
25 and 5 give: (5, 0)
5.6 and 2 give: (2.0, 1.5999999999999996)
11.3 and 9.2 give: (1.0, 2.1000000000000014)

শূন্য ব্যবহার করা

যদি প্রথম আর্গুমেন্ট শূন্য হয় তাহলে আমরা (0,0) পাব। এবং যদি দ্বিতীয় যুক্তিটি শূন্য হয় তবে আমরা প্রত্যাশা অনুযায়ী জিরোডিভিশন ত্রুটি পাই।

উদাহরণ

# With first argument as zero
print("0 and 8 give:",divmod(0,8))

# With second argument as zero
print("8 and 0 give:",divmod(8,0))

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

0 and 8 give: (0, 0)
Traceback (most recent call last):
File "xxx.py", line 6, in
print("8 and 0 give:",divmod(8,0))
ZeroDivisionError: integer division or modulo by zero

বিভাজ্যতা পরীক্ষা করা হচ্ছে

যদি ভাগের পর টিপলের দ্বিতীয় মান 0 হয় তবে আমরা বলি যে প্রথম সংখ্যাটি দ্বিতীয় দ্বারা বিভাজ্য। অন্যথায় এটি বিভাজ্য নয়। নীচের উদাহরণটি এটি ব্যাখ্যা করে৷

উদাহরণ

m = 12
n = 4
quotient,remainder = divmod(m,n)
print(quotient)
print(remainder)
if (remainder==0):
   print(m,' is divisible by ',n)
else:
   print(m,' is not divisible by ',n)
দ্বারা বিভাজ্য নয়

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

3
0
12 is divisible by 4

সংখ্যা প্রাইম কিনা তা পরীক্ষা করা হচ্ছে

আমরা divmod() ব্যবহার করতে পারি যখন আমরা একটি সংখ্যাকে 1 থেকে শুরু করে প্রতিটি সংখ্যা দ্বারা ভাগ করা শুরু করি তখন এটি যে অনুস্মারকগুলি তৈরি করে তার ট্র্যাক রাখতে। একটি মৌলিক সংখ্যার জন্য শূন্য অবশিষ্টের গণনা শুধুমাত্র একটি হবে কারণ নিজে ছাড়া অন্য কোন সংখ্যা ভাগ হবে না। এটা পুরোপুরি। যদি শূন্য অবশিষ্টাংশের গণনা 1 এর বেশি হয় তবে সংখ্যাটি মৌলিক নয়।

উদাহরণ

num = 11
a = num
# counter the number of remainders with value zero
count = 0
while a != 0:
   q, r = divmod(num, a)
   a -= 1
   if r == 0:
      count += 1
if count > 2:
   print(num, 'is not Prime')
else:
   print(num, 'is Prime')

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

11 is Prime

  1. পাইথনে ভেক্টর এ ঘুরিয়ে এবং ভেক্টর সি যোগ করে ভেক্টর বি-তে পৌঁছানো সম্ভব কিনা তা পরীক্ষা করুন

  2. পাইথনে পারস্পরিক সম্পর্ক এবং রিগ্রেশন

  3. Python এ পারমুটেশন এবং কম্বিনেশন?

  4. পাইথনে =+ এবং +=কি করে?