0
"Please help me correct this code."
Note: When finding the sum of the digits until only one digit remains, only integer operations are allowed (no string or list operations). Example Input/Output: Input: 23 Output: 5 Explanation: The sum of the digits of 23 is 2 + 3 = 5, which is a single digit. Input: 24682 Output: 4 Explanation: The sum of the digits of 24682 is 2 + 4 + 6 + 8 + 2 = 22. The sum of the digits of 22 is 2 + 2 = 4, which is a single digit.
8 Respostas
+ 2
When writing a number you want to add to another number, add a float(x), with x being the number.
For example: 1 + 3. When i want it to print out 4, not 13, i write print(float(1) + float(3)). This must print out a 4.0 . Hope this helps!
+ 2
def add_(x,s):
    if len(x)!=1:
       s=sum(x)
       x=[]
       for i in str(s):
           x.append(int(i))
       return add_(x,s)
    else:
       return print(s)
a=int(input("Enter any Integer No. : "))
print()
x=[int(i) for i in str(a)]
add_(x,0)
+ 1
Mohamed Beder Oumar ,
Nice idea. This fixes the errors. Somebody else can put the loop in a loop to keep doing passes until its a single digit.
num = abs(int(input()))
sum = 0
while(num):
    sum += num % 10
    num //= 10
print(sum)
+ 1
ANKIT CHANDOK ,
Nice recursion. My tweaks:
def add_(x, s):
    if len(x) != 1:
        s = sum(x)
        x = []
        for i in str(s):
            x.append(int(i))
        return add_(x, s)
    else:
        return s
a = input("Enter a non-negative integer: ")
print(a)
x = [int(i) for i in a]
print(add_(x, 0))
https://sololearn.com/compiler-playground/cRtsxtvc3dQ7/?ref=app
+ 1
https://sololearn.com/compiler-playground/cCu3WhjT5C1l/?ref=app
0
num = ?
sum=0
While(X):
    sum += num%10
    num //= 10
print(sum)
0
Hii









