python编写1+(1+3)+(1+3+5)+……(1+3+5+……+n)和的程序
5个回答
展开全部
思路:先写子函数,实现到n的奇数和,然后用另一个函数先判断输入是否合规,然后对合规的输入执行操作--对这些奇数和再求和
代码:
def sum_1(n):
# 打印到N的奇数和
part_sum, i = 0, 1
while i != n + 2:
part_sum += i
i += 2
return part_sum
def sum_2(n):
my_sum = 0
if n % 2 ==1:
for j in range(int(n / 2)+1):
my_sum += sum_1(2*j + 1)
return my_sum
else:
return '输入错误!'
if __name__ == '__main__':
print(sum_2(3))
展开全部
#!/usr/bin/python3
def fun(n):
if n < 0 or n%2 == 0:
raise Exception('参数必须是正奇数')
sum = 0
for j in range(n//2+1):
for i in range(1,(j+1)*2,2):
sum += i
return sum
print(fun(7))
原创代码,fun函数参数可换成其他正奇数,参数检测有错误抛异常,不懂之处追问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
def sum_all(n):
r = sum([ x for x in range(1, n + 1, 2) ])
if n == 1:
return r
else:
return r + sum_all(n - 2)
#未对n进行数据类型和奇数检查,有必要则自行补充
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
欢迎参考下方网址,里面有Python习题跟答案,具体的代码截图,代码思路跟你的差不多,把代码考下来把参数修改一下就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
# index 1 2 3 4 5
# 项 1 (1+3) (1+3+5) (1+3+5+7) (1+3+5+7+9)
# value 1 4 9 16 25
# n值 1 3 5 7 9
n=9
total=0
for i in range(1,(n+1)//2+1):
total+=i**2
print(total) #结果55
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询