编写一个函数,求一个正整数n的各位数字之和,并在主程序中测试该函数。
def sum_of_digits(n):
# 将整数转为字符串,再将每个字符转为整数,最后求和
digits = [int(i) for i in str(n)]
sum = 0
for digit in digits:
sum += digit
return sum
n = int(input())
print(sum_of_digits(n))
def sum_digits(n):
"""
计算一个正整数n的各位数字之和。
"""
total = 0
while n > 0:
digit = n % 10
total += digit
n = n // 10
return total
# 在主程序中测试
n = 12345
print("n的各位数字之和为:", sum_digits(n))
在上面的代码中,sum_digits函数使用了一个while循环来遍历n的每一位数字,并累加到变量total中。每次循环,通过求模运算(n % 10)获取最后一位数字,然后除以10(n // 10)来去掉最后一位数字。当n等于0时,表示所有数字都已经被遍历过了,此时函数返回total,即各位数字之和。
在主程序中,我们设置了一个变量n来代表需要求各位数字之和的正整数,然后调用sum_digits函数,并输出结果。在本例中,n的值为12345,所以函数返回的结果是15。
# 实例化第n页对象
page = paginator.page(1) # 获取分页对象的第一页对象
print(page)
page2 = paginator.page(2)
# 第n页的实例对象常用方法:
print(page.object_list) # 当前页的数据查询集(一个元素列表的形式)
print(page.number) # 第n页对象的页码值
print(page.has_previous()) # 第一页对象是否有前一页
print(page.has_other_pages())# 第一页对象是否有其他页
print(page.has_next()) # 第一页对象是否有下一页
print(page.next_page_number())# 第一页对象的下一页页码值
print(page2.previous_page_number()) # 第二页对象的上一页页码值
print(page.start_index()) # 第一页对象含有数据元素的开始索引值
print(page.end_index()) # 第一页对象含有数据元素的结束索引值
def sum_of_digits(n):
# 将整数转为字符串,再将每个字符转为整数,最后求和
digits = [int(i) for i in str(n)]
sum = 0
for digit in digits:
sum += digit
return sum
n = int(input())
print(sum_of_digits(n))
代码如上,如对您有帮助,请采纳!谢谢!