树根Python

#树根,输入一个正整数,把它各个位相加,累加和为一位数为止。

#递归(第一种方法)

def f(x):

     if len(x)==1:

          return x

     else:

          s=0

          for i in range(len(x)):

                 s+=int(x[i])

          return f(str(s))

x=input()

print(f(x))

#如果它的长度是1的时候,就返回它自己本身

#如果不是,就是取它的字符串的下标进行累加,再进行调用,如果各个位数字调用和的长度为一位数,就返回累加和的数,如果长度不是为1,就不停的调用,直到各个位数字相加和长度为1为止。

#while循环(第二种)

n=int(input())

x=n

s=0

while True:

      while n!=0:

             s+=n%10

             n=n//10

       if s>10:

            s,n=0,s

       else:

            break

print(f"{x}树根是{s}")

#while True 就是说值为真进行循环操做。

#while n的值不为0,就比如n等于57,n等于n余10等于7,n整除于10等于5,5再次余10等于5,s等于5+7=12,以此类推进行循环。

#如果它们的和大于10,s,n等于0,s的意思为,0赋值于s,就是再次从0开始累加,s赋值于x,例如57,相加后s等于12,12>10,12就赋值给n,12不为0时,就在次进行累加和s=3,3不大于10就break跳出。

#结束循环可以求出树根,至于前面的x,是上面把n的值赋值于x,就是把n的值存起来的意思。

 

 

你可能感兴趣的:(python,开发语言)