পাইথনে% এর ফলাফল কী?


241

%একটি গণনায় কি করে ? আমি এটি কাজ করে কি মনে হয় না।

এটি উদাহরণস্বরূপ গণনার এক শতাংশ কাজ করে না: 4 % 2আপাতদৃষ্টিতে 0 এর সমান হয় কীভাবে?

উত্তর:


304

% (মডুলো) অপারেটর দ্বিতীয় দ্বারা প্রথম আর্গুমেন্টের বিভাগ থেকে বাকী অংশ দেয়। সংখ্যার যুক্তিগুলি প্রথমে একটি সাধারণ ধরণের রূপান্তরিত হয়। একটি শূন্য ডান যুক্তি জিরো ডিভিশনইরির ব্যতিক্রম উত্থাপন করে। আর্গুমেন্টগুলি ভাসমান পয়েন্ট সংখ্যাগুলি হতে পারে, যেমন, 3.14% 0.7 সমান 0.34 (যেহেতু 3.14 সমান 4 * 0.7 + 0.34 The ফলাফলের পরম মান দ্বিতীয় অপারেন্ডের নিরঙ্কুশ মানের তুলনায় কঠোরভাবে [2] is

Http://docs.python.org/references/expressions.html থেকে নেওয়া

উদাহরণ 1: 6%2 মূল্যায়ন 0কারণ 6 টি 2 (3 বার) দ্বারা বিভক্ত করা হলে কোন অবশিষ্ট নেই।

উদাহরণ 2 : 7%2মূল্যায়নগুলি 1কারণ 17 এর পরে 2 (3 বার) দ্বারা বিভক্ত হওয়ার একটি অবশিষ্টাংশ রয়েছে ।

সুতরাং সংক্ষেপে বলতে গেলে, এটি একটি বিভাগ অপারেশনের বাকী অংশটি প্রদান করে, বা 0যদি কোনও অবশিষ্ট না থাকে। সুতরাং 6%22 এর দ্বারা বিভক্ত 6 এর বাকীটি সন্ধান করুন।


7
সমস্ত উদাহরণের ডানদিকে একটি বড় সংখ্যা আছে কেন? কেউ কি 2% 6 এর ফলাফল ব্যাখ্যা করতে পারে যা 2 দেয়?
উইকি

8
প্রথম সংখ্যাটি হ'ল সংখ্যার এবং দ্বিতীয়টি হ'ল বিভাজন ator আপনার উদাহরণে 6 দ্বারা বিভক্ত 2 0 টি বাকী 2, সুতরাং ফলাফল 2
ডেভিড

4
দয়া করে আপনার উত্তর আপডেট করুন, নীচে আরও সঠিক উত্তর রয়েছে। ইন সি / সি ++ % 'REM' যেহেতু পাইথন এ% 'গেলিক ভাষার' এর জন্য জন্য নয়। উদাহরণস্বরূপ - 21 % 4পাইথনে 3
আজম

আপনি দয়া করে কেন ব্যাখ্যা করতে পারেন -11%5 = 4??
dahiya_boy

@ ডাহিয়া_বয় আমি নীচে আমার কম আপোভোটেড উত্তরে জিভিআরের ব্যাখ্যা যুক্ত করেছি।
পাওলো স্কার্ডাইন

143

কিছুটা বন্ধ বিষয়, %স্ট্রিং ফর্ম্যাটিং ক্রিয়াকলাপগুলিতে স্ট্রিংয়ের %=মানগুলি প্রতিস্থাপন করতে ব্যবহৃত হয় :

>>> x = 'abc_%(key)s_'
>>> x %= {'key':'value'}
>>> x 
'abc_value_'

আবার, বিষয় ছাড়াই, তবে এটি একটি সামান্য নথিভুক্ত বৈশিষ্ট্য বলে মনে হচ্ছে যা আমাকে ট্র্যাক করতে কিছুটা সময় নিয়েছিল এবং আমি ভেবেছিলাম এটি পাইথনসের মডুলো গণনার সাথে সম্পর্কিত যার জন্য এই পৃষ্ঠার উচ্চমান রয়েছে।


স্ট্রিং ফর্ম্যাটিং রেফারেন্স হিসাবে% এরও যুক্তি রয়েছে নাকি এটি ইতিহাসের দুর্ঘটনা মাত্র যে প্রতীকটি ওভারলোড হয়ে গিয়েছিল? এটি কি নিজস্ব প্রশ্ন করা উচিত?
ডাব্লুএএফ

5
দুর্বল দলিল? আমি এটি মনে করি না: স্ট্রিং
ফর্ম্যাটিং

@ কুর্জেডমেটাল - %=সেই পৃষ্ঠাতে উপস্থিত হবে না
পি মায়ার নোর

@WAF %অপারেটরটি বেছে নেওয়া হয়েছে কারণ এটি স্ট্রিংয়ের মধ্যে ব্যবহৃত শতাংশ-স্পেসিফায়ারগুলিকে আয়না করে।
এমআই রাইট

@ পি.মায়ারনোর আমি জানি এটি প্রায় 3 বছর পরে, তবে অন্যকে সাহায্য করতে পারে। সেকেন্ডে প্রথম হাইলাইটেড প্যারা পড়ুন। 5.6.2 উপরের সাথে কুর্জেডমেটাল লিঙ্ক করেছেন। "X% = {}" হ'ল "x = x% {... for" এর জন্য একটি সংক্ষিপ্ত-রূপ
সুজয় ফাদকে

58

x % yবাকী অংশগুলির মূল্যায়নের মতো একটি অভিব্যক্তি x ÷ y- ভাল, প্রযুক্তিগতভাবে এটি "অনুস্মারক" এর পরিবর্তে "মডুলাস" তাই আপনি যদি অন্য ভাষাগুলির সাথে তুলনা করছেন তবে ফলাফলগুলি ভিন্ন হতে পারে যেখানে %বাকী অপারেটর is কিছু সূক্ষ্ম পার্থক্য রয়েছে (যদি আপনি ব্যবহারিক পরিণতিতে আগ্রহী হন তবে "পাইথনের পূর্ণসংখ্যা বিভাগ কেন মেঝে" বরাবর দেখুন))

অগ্রাধিকার অপারেটর /(বিভাগ) এবং *(গুণ) হিসাবে একই ।

>>> 9 / 2
4
>>> 9 % 2
1
  • 9 2 দিয়ে বিভক্ত 4 এর সমান।
  • 4 বার 2 হয় 8
  • 9 বিয়োগ 8 হ'ল 1 - বাকি।

পাইথন গেটচা : আপনি যে পাইথন সংস্করণটি ব্যবহার করছেন তার উপর নির্ভর করে %স্ট্রিং ইন্টারপোলেশন অপারেটরও হ'ল তাই আপনি যদি স্বয়ংক্রিয় টাইপ কাস্টিং (পিএইচপি বা জেএসের মতো) ভাষা থেকে এমন ভাষা থেকে আগমন করছেন তবে দেখুন যেখানে মত প্রকাশের মত '12' % 2 + 3বৈধ: পাইথন এটির ফলস্বরূপ TypeError: not all arguments converted during string formattingযা সম্ভবত আপনার জন্য বেশ বিভ্রান্তিকর হবে।

[পাইথন 3 আপডেট করুন]

ব্যবহারকারী n00p মন্তব্য:

পাইথনে 9/2 হয় 4.5। আপনাকে এর মতো পূর্ণসংখ্যা বিভাগ করতে হবে: 9 // 2 আপনি অজগর চাইলে আপনাকে বলতে হবে যে বিভাগের পরে পুরো কতগুলি অবজেক্ট রয়েছে (4))

সুনির্দিষ্টভাবে বলতে গেলে পাইথন 2 এ পূর্ণসংখ্যা বিভাগটি ডিফল্ট হিসাবে ব্যবহৃত হত (মনে রাখবেন, এই উত্তরটি আমার ছেলের চেয়ে বেশি পুরানো যেটি ইতিমধ্যে স্কুলে এবং সেই সময়ে ২.x মূলধারায় ছিল):

$ python2.7
Python 2.7.10 (default, Oct  6 2017, 22:29:07)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 9 / 2
4
>>> 9 // 2
4
>>> 9 % 2
1

আধুনিক পাইথনের 9 / 2ফলাফলগুলিতে 4.5প্রকৃতপক্ষে:

$ python3.6
Python 3.6.1 (default, Apr 27 2017, 00:15:59)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 9 / 2
4.5
>>> 9 // 2
4
>>> 9 % 2
1

[হালনাগাদ]

ব্যবহারকারী দহিয়া_বয় মন্তব্য মন্তব্যে জিজ্ঞাসা করেছেন:

প্র: আপনি দয়া করে ব্যাখ্যা করতে পারেন কেন -11 % 5 = 4- ডাহিয়া_বয়

এটা কি আজব, তাই না? আপনি যদি জাভাস্ক্রিপ্ট এ চেষ্টা করে দেখুন:

> -11 % 5
-1

এটি কারণ জাভাস্ক্রিপ্টটিতে %"বাকী" অপারেটর রয়েছে যখন পাইথনে এটি "মডুলাস" (ক্লক ম্যাথ) অপারেটর।

আপনি সরাসরি জিভিআর থেকে ব্যাখ্যাটি পেতে পারেন :


সম্পাদনা - dahiya_boy

জাভা এবং আইওএসে -11 % 5 = -1যেখানে অজগর এবং রুবি রয়েছে -11 % 5 = 4

অর্ধেক কারণটি পাওলো স্কার্ডাইন দ্বারা ব্যাখ্যা করা হয়েছে , এবং বাকী বিশদটি এখানে নীচে

জাভা এবং iOS সালে %তার মানে কি বিভক্ত করা যদি বাকি দেয় 11% 5 দেয় Quotient = 2 and remainder = 1এবং -11% 5 দেয় Quotient = -2 and remainder = -1

সুইফট আইওএসে নমুনা কোড।

এখানে চিত্র বর্ণনা লিখুন

কিন্তু যখন আমরা অজগর নিয়ে কথা বলি তখন এটি ক্লক মডুলাস দেয়। এবং নীচের সূত্র সহ এটির কাজ

mod(a,n) = a - {n * Floor(a/n)}

তার মানে,

mod(11,5) = 11 - {5 * Floor(11/5)} => 11 - {5 * 2}

সুতরাং, mod(11,5) = 1

এবং

mod(-11,5) = -11 - 5 * Floor(11/5) => -11 - {5 * (-3)}

সুতরাং, mod(-11,5) = 4

অজগর 3.0 এর নমুনা কোড।

এখানে চিত্র বর্ণনা লিখুন


পাইথনের পূর্ণসংখ্যা বিভাগ তল কেন

আমাকে আজ (আবার) ব্যাখ্যা করার জন্য জিজ্ঞাসা করা হয়েছিল যে পাইথনে পূর্ণসংখ্যা বিভাগ সি এর মতো শূন্যের দিকে ছাঁটাই না করে ফলাফলের তলটি কেন দেয়?

ধনাত্মক সংখ্যার জন্য, এতে অবাক হওয়ার কিছু নেই:

>>> 5//2
2

তবে যদি কোনও অপারেশন নেতিবাচক হয় তবে ফলাফলটি মেঝেতে পরিণত হয়, অর্থাৎ শূন্য থেকে দূরে (নেতিবাচক অনন্তের দিকে):

>>> -5//2
-3
>>> 5//-2
-3

এটি কিছু লোককে বিরক্ত করে, তবে একটি ভাল গাণিতিক কারণ রয়েছে। পূর্ণসংখ্যা বিভাগ অপারেশন (//) এবং এটির ভাইবোন, মডুলো অপারেশন (%), একসাথে গিয়ে একটি দুর্দান্ত গাণিতিক সম্পর্ককে সন্তুষ্ট করে (সমস্ত ভেরিয়েবলগুলি পূর্ণসংখ্যা হয়):

a/b = q with remainder r

যেমন যে

b*q + r = a and 0 <= r < b

(ধরে নিলাম a এবং b হয়> = 0)।

যদি আপনি সম্পর্কটি নেতিবাচক ক (বি ধনাত্মক রাখার জন্য) প্রসারিত করতে চান তবে আপনার দুটি পছন্দ আছে: আপনি শূন্যের দিকে কিউ কেটে ফেললে r negativeণাত্মক হয়ে যাবে, যাতে আক্রমণকারী 0 0 = অ্যাবস (আরবি) তে পরিবর্তিত হয় <অন্যথায়, আপনি নেতিবাচক অসীমের দিকে কিউ তলতে পারে এবং আক্রমণকারী 0 <= r <b হয়। [আপডেট: এই প্যারা স্থির]

গাণিতিক সংখ্যা তত্ত্বে, গণিতবিদরা সর্বদা পরবর্তী পছন্দ পছন্দ করেন (যেমন উইকিপিডিয়া দেখুন )। পাইথনের জন্য, আমি একই পছন্দটি করেছি কারণ মডুলো অপারেশনের কিছু আকর্ষণীয় অ্যাপ্লিকেশন রয়েছে যেখানে একটির চিহ্নটি উদ্বেগজনক। পসিক্স টাইমস্ট্যাম্প (1970 সালের শুরু থেকে সেকেন্ড) নেওয়ার বিষয়টি বিবেচনা করুন এবং এটিকে দিনের সময়ে রূপান্তরিত করুন। যেহেতু একদিনে 24 * 3600 = 86400 সেকেন্ড রয়েছে, তাই এই গণনাটি কেবলমাত্র% 86400 is মেঝে বিধি ব্যবহার করে এটি সমস্ত সূক্ষ্ম কাজ করে।

অন্যান্য অ্যাপ্লিকেশনগুলি যা আমি ভেবেছিলাম তা কম্পিউটার গ্রাফিক্সে পিক্সেল পজিশনের গণনা। আমি নিশ্চিত আরও কিছু আছে।

নেতিবাচক খ এর জন্য, যাইহোক, সমস্ত কিছু কেবল উল্টে যায় এবং আক্রমণকারী হয়ে যায়:

0 >= r > b.

তাহলে সি এটি এভাবে করে না কেন? সম্ভবত সি ডিজাইনের সময় হার্ডওয়্যারটি এটি করেনি। এবং হার্ডওয়্যারটি সম্ভবত এটি এগুলি করেনি কারণ প্রাচীনতম হার্ডওয়্যারগুলিতে, এই দিনগুলিতে (অন্তত পূর্ণসংখ্যার জন্য) দু'জনের পরিপূরক প্রতিনিধিত্বের চেয়ে নেতিবাচক সংখ্যাগুলি "চিহ্ন + মাত্রা" হিসাবে উপস্থাপন করা হয়েছিল। আমার প্রথম কম্পিউটারটি একটি কন্ট্রোল ডেটা মেইনফ্রেম ছিল এবং এটি পূর্ণসংখ্যার পাশাপাশি ভাসমানগুলির জন্য পরিপূরক ব্যবহার করে। Ones০ টির একটি প্যাটার্ন মানে নেতিবাচক শূন্য!

টিম পিটারস, যিনি জানেন যে পাইথনের সমস্ত ভাসমান পয়েন্টের কঙ্কালটি কোথায় সমাধিস্থ করা হয়েছে, তিনি এই নিয়মগুলি ভাসমান পয়েন্ট মডুলো পর্যন্ত বাড়ানোর আমার ইচ্ছা সম্পর্কে কিছুটা উদ্বেগ প্রকাশ করেছেন। তিনি সম্ভবত সঠিক; কাঙ্ক্ষিত দিকে-নেতিবাচক-অনন্ত নিয়ম যখন x খুব কম negativeণাত্মক সংখ্যা হয় তখন x% 1.0 এর জন্য নির্ভুলতা হ্রাস করতে পারে। তবে আমার পক্ষে পূর্ণসংখ্যার মডুলো ভাঙার পক্ষে এটি যথেষ্ট নয় এবং // এর সাথে দৃ tight়ভাবে মিলিত হয়েছে।

পুনশ্চ. নোট করুন যে আমি / এর পরিবর্তে // ব্যবহার করছি - এটি পাইথন 3 সিনট্যাক্স, এবং পাইথন 2 এও জোর দেওয়ার অনুমতি দেওয়া হয়েছিল যে আপনি জানেন যে আপনি পূর্ণসংখ্যা বিভাজন করছেন। পাইথন 2 এ / অপারেটরটি দ্বিধাগ্রস্ত, যেহেতু এটি কোনও ইন্টি এবং ফ্লোট বা দুটি ফ্লোটের চেয়ে দুটি পূর্ণসংখ্যার ক্রিয়াকলাপের জন্য আলাদা ফলাফল দেয়। তবে এটি সম্পূর্ণ আলাদা গল্প; পিইপি 238 দেখুন।

পোস্ট করেছেন Guido ভ্যান রসুম সকাল 9:49 এ


1
এছাড়াও, help(divmod)আক্রমণকারীকে নথি করে দেয় q, r = divmod(x y) <==> q*y + r == x
চিপনার

49

মডুলাস একটি গাণিতিক ক্রিয়াকলাপ, যা কখনও কখনও "ঘড়ির গাণিতিক" হিসাবে বর্ণিত হয়। আমি দেখতে পেয়েছি যে এটিকে কেবল বাকী হিসাবে বর্ণনা করা বিভ্রান্তিকর এবং বিভ্রান্তিকর কারণ এটি কম্পিউটার বিজ্ঞানে এত বেশি ব্যবহৃত হওয়ার আসল কারণটি মুখোশ দেয়। এটি সত্যই চক্রের চারপাশে মোড়ানোর জন্য ব্যবহৃত হয়।

একটি ঘড়ির কথা চিন্তা করুন: ধরুন আপনি "সামরিক" সময়ে একটি ঘড়ির দিকে তাকান, যেখানে সময়ের পরিসর 0:00 - 23.59 থেকে চলে যায়। এখন আপনি যদি মধ্যরাতে প্রতিদিন কিছু ঘটতে চান, আপনি বর্তমান সময়ের মোড ২৪ শূন্য হতে চান:

যদি (ঘন্টা% 24 == 0):

ইতিহাসের সমস্ত ঘন্টা আপনি প্রায় ২৪ ঘন্টার উপরে এবং ২৪ ঘন্টা বৃত্তের চারপাশে মোড়ানো এবং দিনের বর্তমান ঘন্টাটি অসীম দীর্ঘ সংখ্যা মোড ২৪ এর মতো ভাবতে পারেন just এটি কেবল একটি বাকি অংশের চেয়ে অনেক বেশি গভীর ধারণা, এটি একটি গাণিতিক উপায় is চক্র মোকাবেলা করতে এবং এটি কম্পিউটার বিজ্ঞানের ক্ষেত্রে খুব গুরুত্বপূর্ণ। এটি অ্যারের চারপাশে মোড়ানোর জন্যও ব্যবহৃত হয়, আপনাকে সূচকে বাড়িয়ে তুলতে এবং অ্যারের শেষে পৌঁছানোর পরে শুরুতে মোড়কে মডুলাসটি ব্যবহার করে।


1
পাইথনে এটি এভাবেই প্রয়োগ করা হয়েছে:a % b = a - b * floor(a/b)
আইমান আল-ইরিয়ানি


7

বেশিরভাগ ভাষায়% মডুলাসের জন্য ব্যবহৃত হয় । পাইথনও এর ব্যতিক্রম নয়।


11
আমি যতদূর দেখতে পাচ্ছি পাইথনটি অস্বাভাবিক, কারণ এটি মডুলাসের জন্য% ব্যবহার করে; ফরট্রান, সি / সি ++ এবং জাভা ব্যবহারের অবশিষ্টাংশ বোঝাতে% ব্যবহার করে। ( স্ট্যাকওভারফ্লো.com / প্রশ্নগুলি / ১৩686835৩6363৩/২ দেখুন , পার্থক্যগুলি কীভাবে নেতিবাচক এবং ভগ্নাংশের মানগুলি পরিচালনা করা হয় তার মধ্যে রয়েছে)) যে ভাষাগুলি একটি পার্থক্য তৈরি করে (যেমন অ্যাডা, হাস্কেল এবং স্কিম) "রিম" এবং "মোড" শব্দটি ব্যবহার করে (বা "অবশিষ্ট" এবং "মডুলো")% এর পরিবর্তে।
জিম পিভারস্কি

5
আপডেট: ভাষা en.wikedia.org/wiki/Modulo_operation দ্বারা মডুলো / বাকী ক্রিয়াকলাপগুলির এই দুর্দান্ত টেবিলটি আমি পেয়েছি । পাইথনটি অস্বাভাবিক তবে অনন্য নয় (উদাহরণস্বরূপ, টিসিএল এবং লুয়া পাইথনের সম্মেলনে অংশ নিয়েছে))
জিম পিভারস্কি

5

গুগল https://developers.google.com/edu/python/strings এ সংজ্ঞায়িত স্ট্রিং (ঠিক সি এর মতো) মুদ্রক অপারেটর ব্যবহার করা যেতে পারে ।

      # % operator
  text = "%d little pigs come out or I'll %s and %s and %s" % (3, 'huff', 'puff', 'blow down')

এটি বিষয়টিকে ছাড়িয়ে গেছে বলে মনে হচ্ছে তবে এটি অবশ্যই কাউকে সহায়তা করবে।


4

x % yভাগফলটি একটি পূর্ণসংখ্যা যেখানে xভাগ করা হয় তার ভাগের গণনা করে । বাকীটির সাইন রয়েছে ।yy


পাইথন 3 এ গণনা ফলন করে 6.75; এটি কারণ /পাইথন ২-তে (ডিফল্টরূপে) এর মতো পূর্ণসংখ্যার বিভাগ নয়, পাইথন 2- 1 / 4এ 0 দেয়, ফলে ফলাফলটি গোল হয়।

পাইকার 3 তেও পূর্ণসংখ্যা বিভাগ করা যেতে পারে //অপারেটরের সাথে, ফলস্বরূপ 7 পাওয়ার জন্য আপনি নির্বাহ করতে পারেন:

3 + 2 + 1 - 5 + 4 % 2 - 1 // 4 + 6

এছাড়াও, আপনি কেবল লাইনটি যুক্ত করে পাইথন 2 এ পাইথন স্টাইল বিভাগ পেতে পারেন

from __future__ import division

প্রতিটি উত্স ফাইলে প্রথম উত্স কোড লাইন হিসাবে।


8
মনে রাখবেন বাচ্চারা #মন্তব্যগুলির জন্য এবং //একটি অপারেটর।
মাইক কাউজার

3

মডুলাস অপারেটর, এটি পূর্ণসংখ্যার উপর অবশিষ্ট বিভাগের জন্য ব্যবহৃত হয়, তবে পাইথনে ভাসমান পয়েন্ট সংখ্যার জন্য ব্যবহার করা যেতে পারে।

http://docs.python.org/reference/expressions.html

% (মডুলো) অপারেটর দ্বিতীয় দ্বারা প্রথম আর্গুমেন্টের বিভাগ থেকে বাকী অংশ দেয়। সংখ্যার যুক্তিগুলি প্রথমে একটি সাধারণ ধরণের রূপান্তরিত হয়। একটি শূন্য ডান যুক্তি জিরো ডিভিশনইরির ব্যতিক্রম উত্থাপন করে। আর্গুমেন্টগুলি ভাসমান পয়েন্ট সংখ্যাগুলি হতে পারে, যেমন, 3.14% 0.7 সমান 0.34 (যেহেতু 3.14 সমান 4 * 0.7 + 0.34 The ফলাফলের পরম মান দ্বিতীয় অপারেন্ডের নিরঙ্কুশ মানের তুলনায় কঠোরভাবে [2] is


3

এটি একটি মডুলো অপারেশন, যখন এটি কোনও পুরানো ফ্যাশন সি-স্টাইলের স্ট্রিং ফর্ম্যাটিং অপারেটর নয়, কোনও মডুলো অপারেশন নয় । বিশদ জন্য এখানে দেখুন । আপনি বিদ্যমান কোডটিতে এর অনেক কিছুই দেখতে পাবেন।


3

এছাড়াও, একটি দরকারী অন্তর্নির্মিত ফাংশন বলা হয় divmod:

ডিভোমড (ক, খ)

দুটি (অ জটিল) সংখ্যাটি আর্গুমেন্ট হিসাবে গ্রহণ করুন এবং দীর্ঘ বিভাজন ব্যবহার করার সময় তাদের ভাগফল এবং বাকী অংশ নিয়ে গঠিত সংখ্যার এক জোড়া দিন।


2

সচেতন থেকো

(3 +2 + 1 - 5) + (4 % 2) - (1/4) + 6

এমনকি বন্ধনীগুলির ফলাফল পাইথন ৩.৪-এ গণনা করা হলে of-এর পরিবর্তে 75.75৫-এ আসে।


এবং '/' অপারেটরটি খুব সহজে বোঝা যায় না (পাইথন 2.7): চেষ্টা করুন ...

- 1/4

1 - 1/4

এটি এখানে কিছুটা অফ-টপিক, তবে উপরের মত প্রকাশের মূল্যায়ন করার সময় বিবেচনা করা উচিত :)


2
এটি কীভাবে 7 হবে? এটি সরল করে (1)+(0)-(0.25)+(6)
জে.স্টেভ

1

অনলাইনে% অনলাইন ব্যবহারের জন্য সুনির্দিষ্ট ব্যবহারের কেসগুলি সন্ধান করা আমার পক্ষে কঠিন ছিল, উদাহরণস্বরূপ কেন ভগ্নাংশ মডুলাস বিভাগ বা নেতিবাচক মডুলাস বিভাগ করার ফলে এটির উত্তর পাওয়া যায়। আশা করি এটি এর মতো প্রশ্নগুলি পরিষ্কার করতে সহায়তা করে:

সাধারণভাবে মডুলাস বিভাগ:

মডুলাস বিভাগ একটি গাণিতিক বিভাগ অপারেশন এর অবশিষ্ট অংশ প্রদান করে। এটি নিম্নলিখিত হিসাবে এটি করে:

বলুন যে আমাদের 5 এর লভ্যাংশ এবং 2 এর বিভাজক রয়েছে, নিম্নলিখিত বিভাগের ক্রিয়াকলাপটি হবে (x এর সমান):

dividend = 5
divisor = 2

x = 5/2 
  1. মডুলাস গণনার প্রথম পদক্ষেপটি হল পূর্ণসংখ্যা বিভাগ পরিচালনা করা:

    x_int = 5 // 2 (পাইথনে পূর্ণসংখ্যা বিভাগ ডাবল স্ল্যাশ ব্যবহার করে)

    x_int = 2

  2. এর পরে, x_int এর আউটপুটটি বিভাজকের দ্বারা গুণিত হয়:

    x_mult = x_int * বিভাজক x_mult = 4

  3. শেষ অবধি, লভ্যাংশটি x_mult থেকে বিয়োগ করা হয়

    লভ্যাংশ - x_mult = 1

  4. মডুলাস অপারেশন, সুতরাং, 1:

    5% 2 = 1

ভগ্নাংশে মডুলাস প্রয়োগ করার জন্য অ্যাপ্লিকেশন

Example: 2 % 5 

ভগ্নাংশ প্রয়োগ করার সময় মডুলাসের গণনা উপরের মতই; তবে, এটি লক্ষণীয় গুরুত্বপূর্ণ যে বিভাজক লভ্যাংশের চেয়ে বড় হলে পূর্ণসংখ্যা বিভাগ শূন্যের মান হিসাবে দেখা দেয়:

dividend = 2 
divisor = 5

পূর্ণসংখ্যা বিভাগের ফলাফল 0 যেখানে; অতএব, উপরের 3 ধাপটি সম্পাদন করা হলে, লভ্যাংশের মান বহন করা হয় (শূন্য থেকে বিয়োগ):

dividend - 0 = 2  —> 2 % 5 = 2 

একটি নেতিবাচক মডুলাস প্রয়োগ করার জন্য আবেদন

মেঝে বিভাগ ঘটে যায় যেখানে পূর্ণসংখ্যা বিভাগের মানটি সর্বনিম্ন পূর্ণসংখ্যার মানকে গোল করা হয়:

import math 

x = -1.1
math.floor(-1.1) = -2 

y = 1.1
math.floor = 1

অতএব, আপনি যখন পূর্ণসংখ্যা বিভাগ করেন তখন আপনি নিজের প্রত্যাশার চেয়ে আলাদা ফলাফল পেতে পারেন!

নিম্নলিখিত লভ্যাংশ এবং বিভাজকের উপরের পদক্ষেপগুলি প্রয়োগ করা মডুলাস ধারণাকে চিত্রিত করে:

dividend: -5 
divisor: 2 

পদক্ষেপ 1: পূর্ণসংখ্যা বিভাগ প্রয়োগ করুন

x_int = -5 // 2  = -3

পদক্ষেপ 2: বিভাজক দ্বারা পূর্ণসংখ্যা বিভাগের ফলাফলকে গুণ করুন

x_mult = x_int * 2 = -6

পদক্ষেপ 3: গুণিত ভেরিয়েবল থেকে লভ্যাংশ বিয়োগ করুন, ডাবল নেতিবাচক লক্ষ্য করুন।

dividend - x_mult = -5 -(-6) = 1

অতএব:

-5 % 2 = 1

0

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

3 + 2 + 1 - 5 + 4% 2 - 1/4 + 6 = 7

এটি অপারেটরের অগ্রাধিকারের ভিত্তিতে।


0

%হয় মডিউল3 % 2 = 1,4 % 2 = 0

/ (এই ক্ষেত্রে একটি পূর্ণসংখ্যা) বিভাগ, সুতরাং:

3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6
1 + 4%2 - 1/4 + 6
1 + 0 - 0 + 6
7



0

মডুলাস - ডান হাত অপারেন্ড দ্বারা বাম হাত অপারেন্ডকে ভাগ করে দেয় এবং বাকী বাকী অংশ দেয়।

যদি এটি সহায়তা করে:

1:0> 2%6
=> 2
2:0> 8%6
=> 2
3:0> 2%6 == 8%6
=> true

... ইত্যাদি।


0

আমি খুঁজে পেয়েছি যে মডুলাস অপারেটর (%) উপলব্ধি করার সবচেয়ে সহজ উপায়টি দীর্ঘ বিভাজনের মধ্য দিয়ে। এটি অবশিষ্টাংশ এবং একটি সংখ্যা বা বিজোড় হিসাবে নির্ধারণে কার্যকর হতে পারে:

4%2 = 0

  2
2|4
 -4
  0


11%3 = 2

  3
3|11
 -9
  2

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.