शुरू करेंमुफ़्त में शुरू करें

एक जेनरेटर बनाएँ

पिछले अभ्यासों में, आपने मुख्यतः generator expressions लिखे थे, जो comprehension सिंटैक्स का उपयोग करते हैं. Generator expressions के लिए comprehension सिंटैक्स उपयोग करने से आपका काम काफी आसान हो गया!

अब, वीडियो से याद कीजिए कि generator expressions के साथ-साथ generator functions भी होते हैं. Generator functions वे फंक्शन होते हैं जो, generator expressions की तरह, एक सिंगल वैल्यू लौटाने के बजाय वैल्यूज़ की एक series yield करते हैं. एक generator function को वैसे ही परिभाषित किया जाता है जैसे आप एक regular function करते हैं, लेकिन जब भी वह कोई वैल्यू जनरेट करता है, तो return की जगह yield कीवर्ड का उपयोग करता है.

इस अभ्यास में, आप एक generator function बनाएँगे, जिसका मैकेनिज्म पिछले अभ्यास में परिभाषित किए गए generator expression जैसा होगा:

lengths = (len(person) for person in lannister)

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python टूलबॉक्स

पाठ्यक्रम देखें

अभ्यास निर्देश

  • फंक्शन get_lengths() के लिए फंक्शन हेडर पूरा करें, जिसमें एक ही पैरामीटर input_list हो.
  • फंक्शन की परिभाषा में for लूप के अंदर, input_list में मौजूद strings की length को yield करें.
  • उन वैल्यूज़ को प्रिंट करने वाले for लूप के iterable हिस्से को पूरा करें जिन्हें get_lengths() generator function जनरेट करता है. लिस्ट lannister पास करते हुए get_lengths() की कॉल सप्लाई करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Create a list of strings
lannister = ['cersei', 'jaime', 'tywin', 'tyrion', 'joffrey']

# Define generator function get_lengths
def ____:
    """Generator function that yields the
    length of the strings in input_list."""

    # Yield the length of a string
    for person in input_list:
        ____

# Print the values generated by get_lengths()
for value in ____:
    print(value)
कोड संपादित करें और चलाएँ