मैं एक सकारात्मक पूर्णांक के सभी अंकों को जोड़ने की कोशिश कर रहा हूँ। जब मैंने संख्या ४३४ का परीक्षण किया, तो परिणाम ११ के बजाय ४ था।

यहाँ मेरे पास क्या है, मुझे समझ में नहीं आता कि मेरा कोड संख्या के सभी अंकों के माध्यम से क्यों नहीं जा रहा है। इसे कैसे ठीक करें?

def digit_sum(x):
  n=0
  if x>0:
    #get the end digit of the number,add to n
      n+=x%10
      #remove the end digit of the number
      x=x//10
  return n
0
M-M 3 अप्रैल 2018, 05:28

1 उत्तर

मैं संख्या को एक स्ट्रिंग में बदल दूंगा, फिर प्रत्येक अंक को पार्स और योग करूंगा:

def digit_sum(x):
    numList = [int(d) for d in str(x)]
    return sum(numList)
0
Jake Reece 3 अप्रैल 2018, 02:41