要求n的位数count和各位数之和s,可以使用Python中内置的函数len()和sum()来实现。
创新互联公司主要从事成都网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务通州,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
例如,对于数字12345,可以这样写:
n = 12345
count = len(str(n))
s = sum(int(i) for i in str(n))
在这个例子中,count的值为5,因为数字12345有5位;s的值为15,因为1+2+3+4+5=15。
需要注意的是,len()函数只能用于求字符串的长度,因此需要先把数字n转换为字符串。此外,sum()函数默认求的是序列中所有元素的和,因此需要使用列表推导式来把n的各个位数转换为整数再求和。
#!/usr/bin/python
# -*- coding:utf-8 -*-
# @File : Sum_Number.py
"""
求和
"""
def sumner(n):
if isinstance(n, int):
m = n + 1
sum_num = 0
for i in range(1, m):
sum_num += 1.0/(i*(i+1)) * (pow(-1, i) * -1)
else:
return round(sum_num, 2)
else:
return 'Error'
if __name__ == '__main__':
num = int(raw_input(u'请输入一个整数:'))
print sumner(num)
首项=int(input('首项:'))
项数=int(input('项数:'))
公差=int(input('公差:'))
print(sum(range(首项,首项+公差*项数,公差)))
程序7行,代码如下图:
执行示例:
粘贴程序代码的缩进会丢失,请以上图为准:
n=int(input('n='))
s=0
f=1
for i in range(1,n+1):
s = s + f * (i*2-1)/(i*2+1)/(i+1)
f = f * -1
print("S=",round(s,3))