समय मापना I
लेक्चर स्लाइड्स में, आपने देखा कि time.time() फंक्शन को कैसे लोड किया जा सकता है और किसी बेसिक गणितीय ऑपरेशन में लगने वाला समय कैसे मापा जा सकता है.
अब, आप वही रणनीति उपयोग करेंगे ताकि एक जैसे प्रश्न को हल करने के दो अलग-अलग तरीकों का आकलन किया जा सके: 1 से 1 मिलियन (1,000,000) तक के सभी धनात्मक पूर्णांकों के वर्गों का योग निकालना.
वीडियो की तरह ही, आप दो तरीकों की तुलना करेंगे: एक ब्रूट-फोर्स तरीका और दूसरा थोड़ा अधिक गणितीय रूप से परिष्कृत तरीका.
formula फंक्शन में हम मानक सूत्र का उपयोग करते हैं
$$ \frac{N*(N+1)(2N+1)}{6} $$
जहाँ N=1,000,000.
brute_force फंक्शन में हम 1 से 1 मिलियन तक हर संख्या पर लूप चलाते हैं और उसे परिणाम में जोड़ते जाते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
pandas के साथ कुशल कोड लिखना
अभ्यास निर्देश
formula()फंक्शन का उपयोग करके समस्या का परिणाम निकालें.formula()फंक्शन से परिणाम निकालने में लगा समय प्रिंट करें.brute_force()फंक्शन का उपयोग करके समस्या का परिणाम निकालें.brute_force()फंक्शन से परिणाम निकालने में लगा समय प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Calculate the result of the problem using formula() and print the time required
N = 1000000
fm_start_time = ____
first_method = formula(N)
print("Time using formula: {} sec".format(time.time() - fm_start_time))
# Calculate the result of the problem using brute_force() and print the time required
sm_start_time = ____
second_method = ____(N)
print("Time using the brute force: {} sec".format(time.time() - sm_start_time))