Python中输入一个正整数,统计该数各位数字之和,例如shrubs的正整数是89076?

如题所述

以下是一个计算正整数各位数字之和的Python程序:

```python
num = int(input("请输入一个正整数:"))
sum = 0

while num > 0:
digit = num % 10 # 取出最低位上的数字
sum += digit # 累加到总和中
num //= 10 # 把最低位上的数字从num中去掉

print("该数各位数字之和为:", sum)
```

在这个程序中,我们首先使用`input()`函数从命令行接收一个正整数。然后,我们使用一个`while`循环来逐位取出该数的数字,并将它们累加到一个总和变量中。具体来说,我们首先用模运算(取余数)取出最低位上的数字,然后将其加到总和中,最后使用整除(向下取整)运算把最低位上的数字从原数中去掉。当原数小于等于零时,这个循环结束。

最终,我们输出总和即可得到该数各位数字之和。对于输入的89076,该程序将输出结果为30,即8+9+0+7+6=30。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-10
可以使用Python中的循环和数学运算来实现统计一个正整数各位数字之和的功能,具体代码如下:
```
num = int(input("请输入一个正整数:")) # 输入一个正整数
sum = 0 # 初始化各位数字之和为0
while num > 0:
digit = num % 10 # 取出个位数字
sum += digit # 累加个位数字
num //= 10 # 将数字除以10,去掉个位数字
print("该数各位数字之和为:", sum) # 输出各位数字之和
```
解释一下代码的思路:
1. 首先,使用input()函数从用户输入中获取一个正整数,并将其转换为整型数num。
2. 然后,初始化各位数字之和sum为0。
3. 使用while循环,将num从个位开始逐个取出数字,并将各位数字之和累加到sum中。
4. 在循环结束后,输出各位数字之和sum。
例如,对于输入的数字89076,程序将依次取出6、7、0、9、8,然后将这些数字相加,最终输出各位数字之和为30。
相似回答