मैंने हाल ही में नोटिस किया है कि int()
राउंड 0 की ओर एक फ्लोट करता है, जबकि पूर्णांक विभाजन अपनी मंजिल की ओर एक फ्लोट राउंड करता है।
उदाहरण के लिए:
-7 // 2 = -4
int(-7/2) = -3
मैंने वह दस्तावेज पढ़ा है जो निर्दिष्ट करता है:
कक्षा इंट (x, आधार = 10)
किसी संख्या या स्ट्रिंग x से निर्मित पूर्णांक ऑब्जेक्ट लौटाएं या कोई तर्क दिए जाने पर 0 लौटाएँ। यदि x एक संख्या है, तो x लौटाएं। int ()। फ्लोटिंग पॉइंट नंबरों के लिए, यह शून्य की ओर बढ़ता है।
तथा:
मंजिल विभाजन
गणितीय विभाजन जो निकटतम पूर्णांक तक गोल होता है। फ्लोर डिवीजन ऑपरेटर // है। उदाहरण के लिए, फ्लोट ट्रू डिवीजन द्वारा लौटाए गए 2.75 के विपरीत अभिव्यक्ति 11 // 4 का मूल्यांकन 2 है। ध्यान दें कि (-11) // 4 -3 है, क्योंकि यह -2.75 नीचे की ओर गोल है। पीईपी 238 देखें।
लेकिन यह मेरे लिए अतार्किक लगता है कि 2 समान ऑपरेशन (पूर्णांक से फ्लोट डिवीजन) अलग-अलग परिणाम लौटाए।
क्या कार्यों के बीच अंतर के लिए कोई प्रेरणा है?
धन्यवाद।