【题描述】 编写函效sum(x),求整数x的各位数守之和。 在man函数中测试该函数:从键盘输入一非负整数,然后调用sum函数计算各位数字之和并输出结果。 【输入形式】 输入一个正整数。 【输出形式】 输出该整数各位数字之和。
时间: 2024-10-28 14:09:24 浏览: 19
c语言模拟编程题汇总(含答案).doc
在Python中,你可以定义一个名为`sum_digits`的函数,用于计算一个整数的所有位上的数字之和。这个函数通常使用字符串转换和循环结构来实现。以下是一个简单的实现:
```python
def sum_digits(x):
# 将整数转换为字符串,便于逐个处理每一位
str_x = str(x)
# 初始化总和为0
total_sum = 0
# 遍历字符串中的每一个字符(实际上是数字)
for digit in str_x:
# 将字符添加到总和中(这里是将其视为整数)
total_sum += int(digit)
return total_sum
# 测试函数
def test_sum():
try:
# 输入一个整数
num = int(input("请输入一个非负整数:"))
result = sum_digits(num)
print(f"该整数各位数字之和为:{result}")
except ValueError:
print("输入错误,请确保输入的是一个非负整数。")
# 运行测试函数
test_sum()
```
在这个代码里,我们首先定义了`sum_digits`函数,接受一个整数`x`,将其转换为字符串后遍历每一位数字,累加起来返回总和。然后,`test_sum`函数负责获取用户的输入,调用`sum_digits`函数,并输出结果。
如果你运行这段代码,按照提示输入一个整数,程序会输出相应的各位数字之和。如果输入不是整数,会捕获`ValueError`异常并提示重新输入。
阅读全文