7.编写一个函数,求一个正整数n的各位数字之和,并在主程序中测试该函数。 (1)使用str()函数将该正整数n转换为字符串s。 (2)遍历字符串s,取出数字字符,并使用int()函数将其转换为整数m。 (3)每次遍历时,将整数m 累加到sum 变量,退出循环后,将sum作为函数返回值, 即得正整数n的各位数字之和。
时间: 2024-02-17 15:03:06 浏览: 23
好的,下面是按照你的要求编写的函数和主程序:
```python
def sum_of_digits(n):
"""
计算一个正整数n的各位数字之和
"""
s = str(n)
digits_sum = 0
for digit in s:
m = int(digit)
digits_sum += m
return digits_sum
# 测试函数
if __name__ == '__main__':
n = 123456789
print("{}的各位数字之和为:{}".format(n, sum_of_digits(n)))
```
输出结果为:
```
123456789的各位数字之和为:45
```
请问还有其他问题吗?
相关问题
编写一个函数。求一个正整数n的各位数字之和,并在主程序中测试该函数
好的,我可以帮您编写这个函数。以下是Python语言的函数代码,该函数可以求一个正整数的各位数字之和:
```python
def sum_digits(n):
sum = 0
while n > 0:
sum += n % 10
n //= 10
return sum
```
主程序中,可以测试这个函数。例如,输入一个数n,然后调用上述函数,计算n的各位数字之和,最后输出结果。以下是Python语言的主程序代码示例:
```python
n = int(input("请输入正整数n:"))
result = sum_digits(n)
print("n的各位数字之和为:", result)
```
您可以尝试在Python环境下运行这个程序,输入一个正整数,然后程序会输出这个数的各位数字之和。希望能对您有帮助!
编写一个函数fun,求一个正整数n的各位数字之和,并在主程序中测试
好的,以下是实现函数fun的Python代码:
```python
def fun(n):
sum = 0
while n > 0:
sum += n % 10
n //= 10
return sum
```
该函数接受一个正整数n作为参数,使用while循环从最低位开始依次取出每一位数字,将其加到变量sum中,然后将n除以10向下取整,继续取下一位数字,直到n变为0为止。最后返回sum即为n的各位数字之和。
以下是在主程序中测试该函数的代码:
```python
n = int(input("请输入一个正整数: "))
print(n, "的各位数字之和为:", fun(n))
```
主程序首先让用户输入一个正整数n,然后调用函数fun计算n的各位数字之和,并将结果打印输出。
请问还有其他问题吗?