首页 > 试题广场 >

在Python3中,执行函数结果为: def dig_num

[单选题]
在Python3中,执行函数结果为:
def dig_num(n):
    if n <= 10:
        return n
    else:
        return n % 10 + dig_num(n // 10)
print(dig_num(1291))
  • 1291

  • 129

  • 12
  • 13
递归像俄罗斯套娃,层层嵌套

解读代码:%是商取余数,//是商取整数
def dig_num(n):    //构造一个函数
    if n <= 10:        //判断n是否小于等于10,条件成立的时候返回值n
        return n       
    else:               //条件不成立的,执行n % 10 + dig_num(n // 10)
        return n % 10 + dig_num(n // 10)
print(dig_num(1291))    

运算:
① dig_num (1291)=1291%10+dig_num (1291 // 10)=1+dig_num  (129)

②dig_num (129)=129%10+dig_num (129 // 10)=9+dig_num(12)

dig_num(12)=12%10+dig_num(12//10)=2+dig_num(1)

④dig_num(1)=1

层层代入:dig_num (1291)=1+9+2+1=13

发表于 2022-01-25 21:55:31 回复(0)
这种题数据量小的话还可以手算,打的话怎么办
发表于 2022-03-08 16:24:08 回复(0)
这题实际上就是求每一位数的和,dig_sum(1291)=1+2+9+1=13
发表于 2023-04-13 13:40:18 回复(0)