तुलनाओं के साथ परेशानी यह है कि जब आप >=वहाँ डालते हैं, तो डीबग करना मुश्किल हो सकता है<=
# v---------- should be <
if number >= 10000 and number >= 30000:
print ("you have to pay 5% taxes")
पायथन आपको सिर्फ शब्दों में लिखने का मतलब देता है
if number in xrange(10000, 30001): # ok you have to remember 30000 + 1 here :)
Python3 में, आपको rangeइसके बजाय उपयोग करने की आवश्यकता है xrange।
संपादित करें: लोगों को माइक्रोबैन्च निशान और कैसे शांत चेनिंग संचालन के साथ अधिक चिंतित होना चाहिए। मेरा उत्तर रक्षात्मक (बग के लिए कम हमले की सतह) प्रोग्रामिंग के बारे में है।
टिप्पणियों में दावे के परिणामस्वरूप, मैंने Python3.5.2 के लिए यहां माइक्रो बेंचमार्क जोड़ा है
$ python3.5 -m timeit "5 in range(10000, 30000)"
1000000 loops, best of 3: 0.266 usec per loop
$ python3.5 -m timeit "10000 <= 5 < 30000"
10000000 loops, best of 3: 0.0327 usec per loop
यदि आप प्रदर्शन के बारे में चिंतित हैं, तो आप एक बार सीमा की गणना कर सकते हैं
$ python3.5 -m timeit -s "R=range(10000, 30000)" "5 in R"
10000000 loops, best of 3: 0.0551 usec per loop