मैंने बहुत सारे विकल्पों के साथ प्रयास किया लेकिन आउटपुट नहीं आ रहा है। कृपया मेरा कोड और इसके साथ संलग्न स्क्रीनशॉट देखें।

   def Squares(aList):
    x=0
    
    for element in aList:
        #x=0
        if type(element)==int and element>0:
            if (element)%3==0 or (element)%7==0:
                x=x+element**2
        else:
            pass
        return x
print(Squares([[1,5,-3,5,9,8,14,-25]]))

enter image description here

enter image description here

-2
nishikant gurav 22 जिंदा 2021, 13:41
कृपया टेक्स्ट की तस्वीरें पोस्ट न करें। अपने प्रश्न के पाठ में कोई भी आवश्यक पाठ शामिल करें।
 – 
khelwood
22 जिंदा 2021, 13:43
1
हम स्टैक ओवरफ़्लो पर टेक्स्ट की छवियों (कोड/इनपुट/आउटपुट/त्रुटियों, या अन्यथा) की अनुमति नहीं देते हैं। कृपया सभी टेक्स्ट को इस रूप में पोस्ट करें (स्वरूपित) पाठ। अधिक पढ़ें यहां। टेक्स्ट/कोड/त्रुटियों की छवियों वाले प्रश्न नियमित रूप से बंद होते हैं। कृपया दौरे और प्रश्न मार्गदर्शिका यहां यह सुनिश्चित करने के लिए कि यह और आपके भविष्य के प्रश्न इस प्रश्नोत्तर के लिए उपयुक्त हैं।
 – 
costaparas
22 जिंदा 2021, 13:48

1 उत्तर

सबसे बढ़िया उत्तर

दो त्रुटियाँ हैं:

  1. आप अपने फ़ंक्शन को सूचियों की सूची के साथ कॉल करते हैं
  2. आप लूप के भीतर लौटते हैं, जिसका अर्थ है कि आप सूची के पहले तत्व के बाद लौटते हैं
def Squares(aList):
    x=None
    
    for element in aList:
        #x=0
        if type(element)==int and element>0:
            if x is None:
                x=0
            if (element)%3==0 or (element)%7==0:
                x=x+element**2
        else:
            pass
    return x
print(Squares([1,5,-3,5,9,8,14,-25]))

अपेक्षित उत्पादन देता है।

कार्य करने का एक अधिक पाइथोनिक तरीका है

import numbers
def Squares(aList):
    numeric_list = [el for el in aList if isinstance(el, numbers.Number)]
    if not numeric_list:
        return None
    squared_filtered_list = [el**2 for el in numeric_list if el > 0 and (el%3 == 0 or el%7==0)]
    return sum(squared_filtered_list)
2
Paul 22 जिंदा 2021, 15:17
धन्यवाद, इसने 2 आउटपुट के लिए काम किया लेकिन अगर इनपुट सूची नहीं है तो कोई भी आउटपुट के रूप में नहीं आ रहा है। यदि इनपुट सूची नहीं है तो कुछ भी वापस नहीं किया जाता है। ध्यान दें कि कीवर्ड कोई नहीं 'कोई नहीं' स्ट्रिंग नहीं है।
 – 
nishikant gurav
22 जिंदा 2021, 14:14
ऐसा इसलिए है क्योंकि आप टाइप चेक से पहले शुरुआत में x = 0 को इनिशियलाइज़ करते हैं
 – 
Paul
22 जिंदा 2021, 14:32
जहां मुझे x को इनिशियलाइज़ करना है, फिर आउटपुट को प्रिंट के लिए ट्रू के रूप में प्राप्त करना है (sumSquares ('5') कोई नहीं है)
 – 
nishikant gurav
22 जिंदा 2021, 14:48