अब तक हमने जितने भी फ़ंक्शन्स का उपयोग किया है, वे उन पैरामीटर्स पर निर्भर करते हैं जो हम उन्हें पास करते हैं। print() उन वेरिएबल्स को प्रिंट करता है जो उसे पास किए जाते हैं, max() उन नंबरों का अधिकतम निकालता है जो उसे पास किए जाते हैं, math.sqrt() उस नंबर का वर्गमूल निकालता है जो उसे पास किया जाता है। तो, फ़ंक्शन्स अपना व्यवहार उन मूल्यों के आधार पर बदलते हैं जो उन्हें पास किए जाते हैं। वे वही क्रियाएँ बार-बार नहीं दोहराते जो पिछले अभ्यास में फ़ंक्शन ने की थीं।
पैरामीटर्स के आधार पर व्यवहार बदलने के लिए, हमें पैरामीटर्स को फ़ंक्शन में पास करना होता है। यह फ़ंक्शन की परिभाषा में आर्गुमेंट्स को खोलने और बंद करने वाले ब्रैकेट्स () के अंदर परिभाषित करके किया जा सकता है।
def print_volume(h, w, d):
volume = h * w * d
print(volume)
print_volume(2, 3, 4) # 24
print_volume(2, 0, 4) # 0
print_volume(1, 10, 24) # 240
एक फ़ंक्शन में जितने आवश्यक हों उतने आर्गुमेंट्स हो सकते हैं। बस यह ज़रूरी है कि उनके सही नाम हों और उन्हें कॉमा से अलग किया जाए।
चुनौती
एक ऐसा फ़ंक्शन लिखें जो सिलिंडर का आयतन गणना करे और उसे प्रिंट करे।
याद दिलाने के लिए, सिलिंडर का आयतन आधार के वृत्त के क्षेत्रफल को ऊँचाई से गुणा करके निकाला जाता है: $$V = \pi r^2 h$$
इनपुट की पहली पंक्ति में एक पूर्णांक n होगा - उन सिलिंडरों की संख्या जिनके लिए आयतन की गणना की जानी है। अगले n पंक्तियों में दो पूर्णांक h और r होंगे। अर्थात सिलिंडर की ऊँचाई और त्रिज्या।
हर सिलिंडर के लिए आपके द्वारा बनाए गए फ़ंक्शन को कॉल करें ताकि प्रोग्राम आउटपुट में n आयतनों का परिणाम हो।
इनपुट
आउटपुट
115
6
1696.46
सुझाव
जब फ़ंक्शन के पैरामीटर्स का नामकरण करते हैं, तो यह एक अच्छी प्रैक्टिस है कि उनके नाम कोड के अन्य भागों में उपयोग होने वाले नामों से न टकराएँ। उदाहरण के लिए, यदि आपके पास h = int(input()) है, तो आप फ़ंक्शन पैरामीटर को height नाम दे सकते हैं।