Wednesday 15 January 2014

Python Indentation Issue -


  किराने का सामान = ["केला", "नारंगी", "सेब"] स्टॉक = {"केले": 6 , "सेब": 0, "नारंगी": 32, "नाशपाती": 15} कीमतें = {"केला": 4, "सेब": 2, "नारंगी": 1.5, "नाशपाती": 3} # अपना कोड लिखें नीचे! डीफ compute_bill (भोजन): भोजन में आइटम के लिए कुल = 0: कुल = कुल + कीमतें [आइटम] वापस लौटा   

मुझे ऊपर दिए गए कोड के साथ गलत परिणाम क्यों मिलते हैं, और इसके साथ सही परिणाम नीचे दिए गए कोड:

  # नीचे अपना कोड लिखें! डीफ़ compute_bill (भोजन): कुल = 0 भोजन में आइटम के लिए: कुल = कुल + कीमतों [आइटम] कुल वापसी   

क्या इंडेंटेशन अंतर के कारण में अंतर है?

से:

अग्रणी सफेद स्थान (रिक्त स्थान और टैब) एक तार्किक रेखा की शुरुआत लाइन के इंडेंटेशन स्तर की गणना करने के लिए किया जाता है, जो बदले में बयानों का समूह निर्धारण करने के लिए उपयोग किया जाता है।

इसलिए, इंडेन्टेशन पायथन में बहुत कुछ करता है।

कोड 1:

  def compute_bill (भोजन): कुल = 0 आइटम में भोजन के लिए: कुल = कुल + कीमतें [आइटम] कुल वापसी   

जैसा कि return कथन लूप के अंदर है, यह वास्तव में एक ही चलन के बाद फ़ंक्शन से वापस आता है।

ऊपर-वास्तव में कोड समतुल्य है:

  def compute_bill (भोजन): कुल = 0 # भोजन पर विचार [0] पहली कुंजी है कुल = कुल + कीमतें [भोजन [0]] # केवल भोजन की कुल कीमत में पहली वस्तु का मूल्य प्राप्त करें # कुल में जोड़ दें और कुल वापसी करें   

कोड 2: < पूर्व> डीईफ़ compute_bill (भोजन): भोजन में आइटम के लिए कुल = 0: कुल = कुल + कीमतों [आइटम] कुल वापसी

यहां रिटर्न स्टेटमेंट लूप ब्लॉकों के अंदर नहीं है, इसलिए आपका फ़ंक्शन पहले से पूरे भोजन को पुनरावृत्त करेगा और एक बार पुनरावृत्ती खत्म हो जाएगी कुल वापस आ जाता है।

No comments:

Post a Comment