जैसे हम कई संव्यूहित if और else स्टेटमेंट्स के साथ संव्यूहित शर्तें बना सकते हैं, वैसे ही हम संव्यूहित for और while लूप्स भी बना सकते हैं।
हम घंटों, मिनटों और सेकंडों पर परिक्रमा करके एक दिन के समय के माध्यम से इटरेट कर सकते हैं:
for h in range(24):
for m in range(60):
for s in range(60):
print(f'Time: {h}:{m}:{s}')
कार्यक्रम का आउटपुट दिन के सभी संभावित टाइमस्टैम्प होगा, जैसा कि दाईं ओर प्रदर्शित है।
for लूप h = 0 से शुरू होता है, फिर m = 0 लेता है, फिर 0 से 59 तक सभी सेकंड्स पर लूप चलाता है, और समय प्रिंट करता है।
फिर, कार्यक्रम m = 1 सेट करता है और सभी सेकंड्स पर इटरेट करता है। फिर यह m = 2 सेट करता है, और इस प्रक्रिया को m = 59 तक दोहराता रहता है। इस बिंदु पर, कार्यक्रम दूसरा लूप समाप्त करता है और h को 1 बना देता है। फिर, h = 1 के लिए मिनट्स और सेकंड्स पर इटरेट करने की पूरी प्रक्रिया दोबारा दोहराई जाती है। h फिर 2 होता है, फिर 3, और यह चक्र चलता रहता है जब तक कि h23 तक न पहुंच जाए, m59 पर न हो और s59 पर न हो जाए। तब जाकर सभी 3 लूप्स एक साथ रुकते हैं।
एक इंटरैक्टिव विज़ुअल प्लेग्राउंड जो दिखाता है कि ऊपर दिया गया कोड यदि हम चलाएं तो कैसे काम करेगा। लाइन दर लाइन Python कार्यक्रम कैसे चलाएगा यह देखने के लिए 'अगला' पर क्लिक करें। सरलता के लिए, मान लेते हैं कि 60 के बजाय 10 मिनट और 10 सेकंड हैं।
हम संव्यूहित लूप्स का उपयोग करके स्क्रीन पर अधिक सूक्ष्म वस्तुओं को भी प्रिंट कर सकते हैं:
for i in range(10):
for j in range(i + 1):
if j % 2 == 0:
print('*', end='')
else:
print('#', end='')
print()
प्रत्येक पंक्ति i के लिए, हम एक आंतरिक लूप j in range(i + 1) का उपयोग करके प्रिंट करते हैं। प्रतीक स्थान के आधार पर निर्धारित किया जाता है।
चुनौती
2D गेम्स से प्रेरित होकर, आप कुछ आकृतियों को प्रिंट करने के साथ प्रयोग करना चाहते हैं। आप ऊंचाई n और चौड़ाई n का एक त्रिभुज प्रिंट करना चाहते हैं, जहां प्रत्येक स्थान के लिए, यदि उसकी पंक्ति और स्तंभ का योग सम है तो प्रिंट किया गया प्रतीक e होगा और यदि योग विषम है तो प्रतीक o होगा।
ध्यान दें कि पंक्तियाँ और स्तंभ गिनती 1 से शुरू होती हैं।
इनपुट
आउटपुट
10
e oe eoe oeoe eoeoe oeoeoe eoeoeoe oeoeoeoe eoeoeoeoe oeoeoeoeoe