लक्ष्य एक '0 से 1' प्रणाली से स्कोर को 'एफ से ए' सिस्टम में बदलने के लिए एक कार्यक्रम बनाना है:
- अगर
score >= 0.9
'A' प्रिंट होगा - अगर
score >= 0.8
'बी' छपेगा - 0.7, सी
- 0.6, डी
- और उस बिंदु के नीचे कोई मान, एफ प्रिंट
यह इसे बनाने का तरीका है और यह कार्यक्रम पर काम करता है, लेकिन यह कुछ हद तक दोहरावदार है:
if scr >= 0.9:
print('A')
elif scr >= 0.8:
print('B')
elif scr >= 0.7:
print('C')
elif scr >= 0.6:
print('D')
else:
print('F')
मैं जानना चाहूंगा कि क्या कोई फ़ंक्शन बनाने का कोई तरीका है ताकि यौगिक कथन दोहराए न जाएं।
मैं कुल शुरुआत वाला हूं, लेकिन इसकी पंक्तियों में कुछ होगा:
def convertgrade(scr, numgrd, ltrgrd):
if scr >= numgrd:
return ltrgrd
if scr < numgrd:
return ltrgrd
संभव है?
यहाँ आशय यह है कि बाद में हम इसे केवल तर्क, संख्या और पत्र ग्रेड को तर्क के रूप में पारित करके कह सकते हैं:
convertgrade(scr, 0.9, 'A')
convertgrade(scr, 0.8, 'B')
convertgrade(scr, 0.7, 'C')
convertgrade(scr, 0.6, 'D')
convertgrade(scr, 0.6, 'F')
यदि कम तर्कों को पारित करना संभव होगा, तो यह और भी बेहतर होगा।