উত্তর:
পাইথন 3.x এ, 5 / 2
ফিরে আসবে 2.5
এবং 5 // 2
ফিরে আসবে 2
। পূর্ববর্তীটি হ'ল ভাসমান পয়েন্ট বিভাগ এবং দ্বিতীয়টি হ'ল মেঝে বিভাগ , কখনও কখনও এটি পূর্ণসংখ্যা বিভাগও বলে ।
পাইথন ২.২ বা তারপরে ২.x লাইনে, পূর্ণসংখ্যার জন্য কোনও পার্থক্য নেই যদি না আপনি একটি সম্পাদনা করেন from __future__ import division
, যার ফলে পাইথন ২.x 3.x আচরণ অবলম্বন করে।
ভবিষ্যতের আমদানি নির্বিশেষে, 5.0 // 2
ফিরে আসবে 2.0
যেহেতু এটি অপারেশনের মেঝে বিভাগের ফলাফল।
আপনি https://docs.python.org/whatsnew/2.2.html#pep-238- পরিবর্তন- the- বিভাজন- অপারেটর এ একটি বিস্তারিত বিবরণ পেতে পারেন
python -Qnew
। অন্যান্য বিভাগের বিকল্পগুলি: -Qold
(ডিফল্ট) -Qwarn
,,-Qwarnall
5.0 / 2
আয় 2.5
সব সংস্করণে, আছে যেমন 5 / 2.0
- পুরাতন আচরণ শুধুমাত্র বিভিন্ন যখন উভয় operands হয় int
।
পাইথন ২.x রেখার জন্য স্পষ্ট করে বলা, /
এটি তল বিভাগ বা সত্য বিভাগ নয়। বর্তমান গৃহীত উত্তরটি এ সম্পর্কে পরিষ্কার নয়।
/
মেঝে বিভাজন যখন উভয় args হয় int
, কিন্তু সত্য বিভাজন যখন পারেন অথবা উভয় args হয় float
।
উপরেরটি আরও সত্য বলে, এবং গৃহীত উত্তরের ২ য় অনুচ্ছেদের চেয়ে আরও স্পষ্ট।
//
আপনার ধরণের নির্বিশেষে "তল বিভাগ" প্রয়োগ করে। তাই
1.0/2.0
দেব 0.5
, তবে দুটো একসাথে 1/2
, 1//2
এবং 1.0//2.0
দেব 0
।
দেখুন https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator বিস্তারিত জানার জন্য
math.floor()
বা math.fmod()
যদি আপনি নিশ্চিত না হন যে ইউনারি অপারেটরগুলির সাথে কী চলছে।
/
এবং //
দ্বি-নারি অপারেটরগুলি (দুটি অপারেশন, বাম এবং ডান, সংখ্যক এবং ডিনোমিনেটর)
/ -> ভাসমান পয়েন্ট বিভাগ
// -> তল বিভাগ
পাইথন ২.7 এবং পাইথন ২.৩ উভয় ক্ষেত্রে কয়েকটি উদাহরণ দেখতে দিন।
পাইথন 2.7.10 বনাম পাইথন 3.5
print (2/3) ----> 0 Python 2.7
print (2/3) ----> 0.6666666666666666 Python 3.5
পাইথন 2.7.10 বনাম পাইথন 3.5
print (4/2) ----> 2 Python 2.7
print (4/2) ----> 2.0 Python 3.5
এখন আপনি পাইথন ৩.৫ এর মতো (পাইথন ২.7 তে) একই আউটপুট পেতে চাইলে আপনি নিম্নলিখিতগুলি করতে পারেন:
পাইথন 2.7.10
from __future__ import division
print (2/3) ----> 0.6666666666666666 #Python 2.7
print (4/2) ----> 2.0 #Python 2.7
যেখানে পাইথন ২.7 এবং পাইথন ৩.৫ উভয় ক্ষেত্রে তল বিভাগের মধ্যে কোনও পার্থক্য নেই
138.93//3 ---> 46.0 #Python 2.7
138.93//3 ---> 46.0 #Python 3.5
4//3 ---> 1 #Python 2.7
4//3 ---> 1 #Python 3.5
-100 // 33
=> -4 ; 100 // -33
=> -4 ; তবে মেঝে ফানকের বৃত্তাকার দিকের কারণে, পরবর্তীটির তুলনায় পূর্বেরটি -100 // -33
= : > 3 এর তুলনায় স্বতঃসিদ্ধ মনে হতে পারে ।
সবাই ইতিমধ্যে উত্তর হিসাবে, //
মেঝে বিভাগ।
কেন এটি গুরুত্বপূর্ণ তা //
হ'ল পাইথন ৩.x সংস্করণ সহ ২.২ থেকে সমস্ত পাইথন সংস্করণে নির্বিঘ্নে মেঝে বিভাগ।
এর /
উপর নির্ভর করে আচরণের পরিবর্তন হতে পারে:
__future__
আমদানি করুন বা না (মডিউল-স্থানীয়)-Q old
বা-Q new
>>> print 5.0 / 2
2.5
>>> print 5.0 // 2
2.0
পাইথন ২.7 এবং পাইথনের অন্যান্য আসন্ন সংস্করণ:
/
)ডান হাত অপারেন্ড দ্বারা বাম হাত অপারেন্ড ভাগ করে
উদাহরণ: 4 / 2 = 2
//
)অপারেটরগুলির বিভাজন যেখানে ফলাফলটি ভাগফল যেখানে দশমিক বিন্দুর পরে অঙ্কগুলি সরানো হয়। তবে যদি কোনও অপারেশন নেতিবাচক হয় তবে ফলাফলটি মেঝেতে পরিণত হয়, অর্থাৎ শূন্য থেকে দূরে (নেতিবাচক অনন্তের দিকে):
উদাহরণ: 9//2 = 4
এবং 9.0//2.0 = 4.0
, -11//3 = -4
,-11.0//3 = -4.0
/
বিভাগ এবং //
মেঝে বিভাগ উভয় অপারেটর একই ফ্যাশনে পরিচালনা করছে।
//
মেঝে বিভাগ, এটি আপনাকে সর্বদা ফলাফলের পূর্ণসংখ্যার তল দেবে। অন্যটি হ'ল 'নিয়মিত' বিভাগ।
উপরের উত্তরগুলি ভাল। আমি আরেকটি বিষয় যুক্ত করতে চাই কিছু মান পর্যন্ত উভয়ই একই ভাগফলের ফলাফল করে। এর পরে মেঝে বিভাগ অপারেটর ( //
) সূক্ষ্ম কাজ করে তবে বিভাগ ( /
) অপারেটর নয়।
- > int(755349677599789174/2)
- > 377674838799894592 #wrong answer
- > 755349677599789174 //2
- > 377674838799894587 #correct answer
5.0//2
ফলাফলগুলি প্রাপ্ত হয় 2.0
, এবং না 2
কারণ অপারেটর থেকে রিটার্ন মানের রিটার্ন টাইপ//
পাইথন জবরদস্তি (টাইপ কাস্টিং) বিধি অনুসরণ করে।
পাইথন ডেটা ক্ষতি এড়াতে নিম্ন ডেটাটাইপ (পূর্ণসংখ্যা) উচ্চতর ডেটা টাইপ (ফ্লোট) এ রূপান্তরকে উত্সাহ দেয়।
//
এটি মেঝে বিভাগ, এটি সর্বদা আপনাকে ফলাফলের তল মান দেয়।/
হ'ল ভাসমান-বিন্দু বিভাগ।অনুসরণগুলি হ'ল /
এবং এর মধ্যে পার্থক্য //
; আমি পাইথনে এই পাটিগণিত অপারেশনগুলি পরিচালনা করেছি 3.7.2
>>> print (11 / 3)
3.6666666666666665
>>> print (11 // 3)
3
>>> print (11.3 / 3)
3.7666666666666667
>>> print (11.3 // 3)
3.0
//
।