1. Learn
  2. /
  3. Courses
  4. /
  5. Efficient Python Code लिखना

Connected

Exercise

वन-टाइम कैलकुलेशन लूप

generations नाम की एक लिस्ट आपके सेशन में लोड की गई है जिसमें प्रत्येक Pokémon की जनरेशन को दर्शाने वाले integers हैं। आप प्रत्येक जनरेशन के काउंट इकट्ठा करना चाहते हैं और यह निर्धारित करना चाहते हैं कि कुल integers में से प्रत्येक जनरेशन का प्रतिशत कितना है.

इस कार्य को पूरा करने के लिए नीचे दिया गया लूप लिखा गया था:

for gen,count in gen_counts.items():
    total_count = len(generations)
    gen_percent = round(count / total_count * 100, 2)
    print(
      'generation {}: count = {:3} percentage = {}'
      .format(gen, count, gen_percent)
    )

आइए इस लूप को अधिक कुशल बनाते हैं, एक बार होने वाली गणना (one-time calculation) को लूप के बाहर ले जाकर.

Instructions

100 XP
  • collections मॉड्यूल से Counter इम्पोर्ट करें.
  • Counter() का उपयोग करके generations लिस्ट से प्रत्येक जनरेशन का काउंट इकट्ठा करें। इसे gen_counts के रूप में सेव करें.
  • एक बेहतर for लूप लिखें जो एक बार होने वाली गणना को लूप के बाहर (ऊपर) रखे। मूल for लूप जैसा ही सटीक सिंटैक्स उपयोग करें (उस one-time गणना को कॉपी-पेस्ट करके लूप के ऊपर रख दीजिए).