बिना आर्ग्यूमेंट्स के फ़ंक्शंस

हम पहले ही Python में फ़ंक्शंस के साथ काम कर चुके हैं। वास्तव में, हमारा पहला प्रोग्राम पहले ही एक फ़ंक्शन का उपयोग करता था। print() वास्तव में एक फ़ंक्शन है। min(), max(), input(), sorted() और उन सभी कमांड्स जिनके आगे कोष्ठक () होते हैं, वे सभी फ़ंक्शंस हैं।

फ़ंक्शंस कई कमांड्स को निष्पादित करते हैं और कुछ मामलों में एक परिणाम रिटर्न करते हैं। उदाहरण के लिए, min() कई मानों में से न्यूनतम मान की गणना करता है और उसे लौटाता है। दूसरी ओर, print() आउटपुट में एक मान को प्रदर्शित करता है।

फ़ंक्शंस विशेष रूप से तब उपयोगी होते हैं जब हमें दोहराव वाले कोड को हटाना हो। हम अपने कस्टम फ़ंक्शंस भी परिभाषित कर सकते हैं। कल्पना करें कि आप किसी वस्तु को 3 बार प्रिंट करना चाहते हैं और बीच में कुछ और करना है:

print('*')
print('##')
print('***')
print('####')
print('*****')

n = int(input())
print('~' * n)

print('*')
print('##')
print('***')
print('####')
print('*****')

name = input()
print(f'Hi, {name}')

print('*')
print('##')
print('***')
print('####')
print('*****')
def print_triangle():
    print('*')
    print('##')
    print('***')
    print('####')
    print('*****')

print_triangle()
n = int(input())
print('~' * n)

print_triangle()
name = input()
print(f'Hi, {name}')

print_triangle()

कस्टम फ़ंक्शन को परिभाषित करने के लिए हमें def कीवर्ड का उपयोग करना होता है, उसके बाद फ़ंक्शन का नाम (print_triangle हमारे उदाहरण में), फिर () और : होता है जो फ़ंक्शन ब्लॉक की शुरुआत को दर्शाता है। फ़ंक्शन द्वारा निष्पादित किए जाने वाले कमांड्स की सूची इंडेंटेड ब्लॉक में फ़ंक्शन बॉडी के अंदर रखी जाती है।

ये दोनों प्रोग्राम बिल्कुल समान कार्य करते हैं, लेकिन दूसरे वाले में दोहराए जाने वाले हिस्से को एक फ़ंक्शन में परिभाषित किया गया है और कोड को कॉपी-पेस्ट होने से बचाया गया है।

चुनौती

एक ऐसा फ़ंक्शन परिभाषित करें जो का एक आयत प्रिंट करे और उसे 3 बार कॉल करें। आयत की सीमा # प्रतीक की होनी चाहिए, और अंदर का भाग खाली होना चाहिए।

__Output__
############
#          #
#          #
#          #
#          #
#          #
#          #
#          #
#          #
############
############
#          #
#          #
#          #
#          #
#          #
#          #
#          #
#          #
############
############
#          #
#          #
#          #
#          #
#          #
#          #
#          #
#          #
############

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB