这里介绍两个函数分别是sum_digits()和sum_digits2()。
函数sum_digits()使用递归的方式对数字的每位进行求和,其代码如下:
def sum_digits(n):
if n < 10:
return n
else:
return sum_digits(n // 10) + n % 10
函数sum_digits2()使用公式的方式对数字每位进行求和,其代码如下:
def sum_digits2(n):
if n == 0:
return 0
else:
return (n % 10) + sum_digits2(n // 10)
我们可以使用time模块来比较两个函数的运行时间,代码如下:
import time
n = 123456789
start_time = time.time()
print("Sum of digits using sum_digits(): ", sum_digits(n))
end_time = time.time()
print("Time taken by sum_digits(): ", end_time - start_time)
start_time = time.time()
print("Sum of digits using sum_digits2(): ", sum_digits2(n))
end_time = time.time()
print("Time taken by sum_digits2(): ", end_time - start_time)
执行以上代码后,我们可以得到每个函数的运行时间并进行比较,以决定使用哪个函数更加有效率。