मैं पायथन में संख्या के शेष भाग को खोजने के बारे में कैसे जा सकता हूं?
उदाहरण के लिए:
यदि संख्या 26 है और विभाजित संख्या 7 है, तो शेष भाग 5. है
(चूंकि 7 + 7 + 7 = 21 और 26-21 = 5।)
मैं पायथन में संख्या के शेष भाग को खोजने के बारे में कैसे जा सकता हूं?
उदाहरण के लिए:
यदि संख्या 26 है और विभाजित संख्या 7 है, तो शेष भाग 5. है
(चूंकि 7 + 7 + 7 = 21 और 26-21 = 5।)
जवाबों:
आप modulo ऑपरेटर की तलाश कर रहे हैं:
a % b
उदाहरण के लिए:
26 % 7
बेशक, शायद वे चाहते थे कि आप इसे खुद लागू करें, जो बहुत मुश्किल भी नहीं होगा।
-10 % 3 == 2
:। हालांकि, a/b*b + a%b == a
अभी भी सही है, क्योंकि अजगर हमेशा कुछ अन्य भाषाओं के विपरीत -इनफिनिटी की ओर गोल होता है, जो 0 की ओर गोल होता है, लेकिन -1 पर वापस आ जाता है।
%
एक सच्चा मापांक करता है, जो मानों को श्रेणी में [0, divisor)
रखता है और फ्लोर्ड डिवीजन (नकारात्मक अनंतता की ओर) के साथ अच्छी तरह से जुड़ता है। सी भाषाएं %
शेष संचालन के लिए ऑपरेटर का उपयोग करती हैं जो रेंज (-divisor, divisor)
और वैल्यू पर मानक डिवीजन (शून्य की ओर) के साथ मान लौटाता है ।
26% 7 (आपको शेष मिलेगा)
26/7 (आपको डिविज़र मिलेगा फ्लोट वैल्यू हो सकता है)
26 // 7 (आपको केवल पूर्णांक मान होगा)
पायथन 3.7 से, एक नया math.remainder()
कार्य है:
from math import remainder
print(remainder(26,7))
आउटपुट:
-2.0 # not 5
ध्यान दें, जैसा कि ऊपर, यह नहीं ही है के रूप में %
।
दस्तावेज का उद्धरण :
गणित। शेष (x, y)
IEEE 754-शैली शेष x को y के संबंध में लौटाएं। परिमित x और परिमित नॉनजरो y के लिए, यह अंतर x - n * y है, जहाँ n भागफल x / y के सटीक मान का निकटतम पूर्णांक है। यदि x / y दो लगातार पूर्णांकों के बीच बिल्कुल आधा है, तो निकटतम सम पूर्णांक का उपयोग n के लिए किया जाता है। शेष आर = शेष (एक्स, वाई) इस प्रकार हमेशा एब्स (आर) <= 0.5 * एब्स (वाई) को संतुष्ट करता है।
विशेष मामले IEEE 754 का पालन करते हैं: विशेष रूप से, शेष (x, math.inf) किसी भी परिमित x के लिए x है, और शेष (x, 0) और शेष (math.inf, x) किसी भी गैर- NaN x के लिए ValueError बढ़ाते हैं। यदि शेष ऑपरेशन का परिणाम शून्य है, तो उस शून्य का 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 क्योंकि यह भागफल देगा लेकिन% ऑपरेटर शेष देगा।
आप modulo ऑपरेटर उदाहरण का उपयोग करके शेष पा सकते हैं
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
, लेकिन स्पष्ट रूप से अलग vairables।
valone/valtwo
इंट में डालना है। अन्यथा यह एक फ्लोट संख्या में परिणाम देगा।
आप किसी फ़ंक्शन को परिभाषित कर सकते हैं और शेष को 2 मानों जैसे रेम (नंबर 1, नंबर 2) के साथ कॉल कर सकते हैं जो नंबर 1% नंबर 2 लौटाता है, फिर थोड़ी देर बनाएँ और इसे सही पर सेट करें और फिर अपने फ़ंक्शन के लिए दो इनपुट्स प्रिंट करें नंबर 1 और 2 प्रिंट करें (प्रिंट करें) (संख्या 1, संख्या 2)