পাইথনের একটি সংখ্যার বিভাগের বাকী অংশটি কীভাবে সন্ধান করতে পারি?
উদাহরণস্বরূপ:
যদি সংখ্যাটি 26 হয় এবং বিভক্ত সংখ্যা 7 হয় তবে বিভাগের বাকী 5 হয়
(7 + 7 + 7 = 21 এবং 26-21 = 5 থেকে))
পাইথনের একটি সংখ্যার বিভাগের বাকী অংশটি কীভাবে সন্ধান করতে পারি?
উদাহরণস্বরূপ:
যদি সংখ্যাটি 26 হয় এবং বিভক্ত সংখ্যা 7 হয় তবে বিভাগের বাকী 5 হয়
(7 + 7 + 7 = 21 এবং 26-21 = 5 থেকে))
উত্তর:
আপনি মডুলো অপারেটরটির সন্ধান করছেন:
a % b
উদাহরণ স্বরূপ:
26 % 7
অবশ্যই, তারা চেয়েছিল যে আপনি নিজে এটি প্রয়োগ করতে পারেন, এটি খুব বেশি কঠিনও হবে না।
-10 % 3 == 2
। তবে এটি a/b*b + a%b == a
এখনও সত্য, যেহেতু অজগর সর্বদা অন্য-কিছু ভাষার মতো -ইনফিনিটির দিকে ঘুরতে থাকে, যা 0 এর দিকে থাকে তবে ফিরে আসে -1।
%
একটি সত্যিকারের মডুলাস সম্পাদন করে, যা [0, divisor)
মেঝে বিভাগের সাথে পরিসীমা এবং জোড়গুলির মানগুলি ভালভাবে দেয় (নেতিবাচক অনন্ততার দিকে)। সি ভাষাগুলি %
অপারেটরটিকে বাকী ক্রিয়াকলাপের জন্য ব্যবহার করে যা (-divisor, divisor)
মান বিভাগের সাথে শূন্যের এবং জোড়গুলির মান ভাল করে দেয় (শূন্যের দিকে)।
26% 7 (আপনি বাকীটি পাবেন)
২ / / 7 (আপনি বিভাজন পাবেন ভাসমান মান হতে পারে)
26 // 7 (আপনি কেবলমাত্র পূর্ণ সংখ্যার বিভাজন পাবেন))
আপনি যদি এক লাইনের কোডের (আরও সাধারণ ব্যবহারের ক্ষেত্রে) ভাগ করে নেওয়া এবং বাকী পেতে চান তবে ব্যবহার করুন:
quotient, remainder = divmod(dividend, divisor)
#or
divmod(26, 7)
পাইথন ৩.7 থেকে একটি নতুন math.remainder()
ফাংশন রয়েছে:
from math import remainder
print(remainder(26,7))
আউটপুট:
-2.0 # not 5
নোট, যেমন উপরে তা না একই হিসাবে %
।
ডকুমেন্টেশন উদ্ধৃত :
গণিত। বাকি (x, y)
আই এর জন্য ই আই ই ই 754-শৈলীর এক্স এর বাকী অংশটি ফিরিয়ে দিন। সীমাবদ্ধ এক্স এবং সসীম ননজারো ওয়াইয়ের জন্য, এই পার্থক্যটি হল x - n * y, যেখানে n ভাগফল x / y এর সঠিক মানের নিকটতম পূর্ণসংখ্যা। যদি এক্স / ওয়াইটি পরপর দুটি পূর্ণসংখ্যার মাঝামাঝি অর্ধেক পথ হয় তবে নিকটতম এমনকি পূর্ণসংখ্যা n এর জন্য ব্যবহৃত হয়। অবশিষ্ট r = অবশিষ্ট (x, y) এভাবে সর্বদা ABS (r) <= 0.5 * অ্যাবস (y) কে সন্তুষ্ট করে।
বিশেষ ক্ষেত্রে আইইইই 754 অনুসরণ করে: বিশেষত, বাকী (x, math.inf) যে কোনও সীমাবদ্ধ এক্সের জন্য এক্স, এবং অবশিষ্ট (x, 0) এবং অবশিষ্ট (math.inf, x) কোনও নন-এনএন এক্স এর জন্য ভ্যালুয়েরর বাড়ায়। যদি বাকী অপারেশনের ফলাফল শূন্য হয় তবে সেই শূন্যের এক্স এর সমান চিহ্ন থাকবে।
আইইইই 754 বাইনারি ফ্লোটিং পয়েন্ট ব্যবহার করে প্ল্যাটফর্মে, এই ক্রিয়াকলাপের ফলাফল সর্বদা হুবহু উপস্থাপনযোগ্য: কোনও গোলাকার ত্রুটি প্রবর্তিত হয় না।
ইস্যু 29962 নতুন ফাংশন তৈরির যুক্তি বর্ণনা করে।
আপনি ভাগ করার সময় / এর পরিবর্তে% ব্যবহার করুন। এটি আপনার জন্য বাকিগুলি ফিরিয়ে দেবে। আপনার ক্ষেত্রে তাই
26 % 7 = 5
মডুলো সঠিক উত্তর হবে, তবে আপনি যদি এটি ম্যানুয়ালি করে থাকেন তবে এটি কাজ করা উচিত।
num = input("Enter a number: ")
div = input("Enter a divisor: ")
while num >= div:
num -= div
print num
আমরা মডুলাস অপারেটর (%) ব্যবহার করে এটি সমাধান করতে পারি
26% 7 = 5;
তবে 26/7 = 3 কারণ এটি ভাগফল দেবে তবে% অপারেটর বাকী অংশ দেবে।
আপনি মডুলো অপারেটর উদাহরণ ব্যবহার করে বাকী সন্ধান করতে পারেন
a=14
b=10
print(a%b)
এটি 4 মুদ্রণ করবে
আপনি যদি আপনার বিভাগীয় সমস্যাটির বাকী অংশ চান তবে গণিতের মতো কেবল আসল বাকী নিয়মগুলি ব্যবহার করুন। মঞ্জুরিপ্রাপ্ত এটি আপনাকে দশমিক আউটপুট দেয় না।
valone = 8
valtwo = 3
x = valone / valtwo
r = valone - (valtwo * x)
print "Answer: %s with a remainder of %s" % (x, r)
আপনি যদি এটি একটি ক্যালকুলেটর ফর্ম্যাটে করতে চান তবে কেবল বিকল্পের valone = 8
সাথে প্রতিস্থাপন করুন valone = int(input("Value One"))
। valtwo = 3
স্পষ্টতই পৃথক বৈকল্পিকগুলির সাথে এটি করুন ।
valone/valtwo
করতে হবে অন্যথায় এটি ভাসমান সংখ্যার ফলাফল করবে।
আপনি কোনও ফাংশনটি সংজ্ঞায়িত করতে পারেন এবং এটিকে রিম (সংখ্যা 1, সংখ্যা 2) এর মতো 2 টি মান সহ বাকী হিসাবে কল করতে পারেন যা নম্বর 1% সংখ্যা 2 প্রদান করে তারপরে একটি সময় তৈরি করে সত্যে সেট করে তারপর আপনার ফাংশন 1 এবং 2 এর জন্য দুটি ইনপুট মুদ্রণ করে মুদ্রণ করবে (রিম (সংখ্যা 1, number_2)