def get_sum_of_digits(num):
sum = 0
while (num > 0):
last_digit = num % 10
sum = sum + last_digit
num = num // 10
return sum
user_num = int(input("Enter your Number : "))
total = get_sum_of_digits(user_num)
print("The total sum of digits is" , total)
我无法理解这段代码的加法(数字的数字之和).请解释一下.谢谢。
你处理这个问题的方法有点奇怪,但尽管如此,它还是可以工作,即使它比较慢。
解释: %
运算符返回ur数字的1位的数字,并将其加到ur数字的初始值上。sum
同样的过程持续了n次,直到数值为 num
是 <
比 0
In [6]: def sum_of_digits(num):
...: num_lst = [int(i) for i in str(num)] # list comprehension
...: return sum(num_lst)
...:
In [7]: sum_of_digits(123)
Out[7]: 6
%函数给出了除以10后的余数,所以59%10=9. 因此,它给出了数字的最后一位数字。我们将最后一位数字加到我们的和中。/运算符返回除法后的整数值,因此,59/10=5,所以我们将最后一位数字加到我们的和中。因此,59/10=5,所以最后一位数字被删除。我们继续这个过程,直到没有剩余的数字,得到所有数字的和。