s=1!+3!+3!+5!+7!+9!

这个python要怎么编写啊(可以使用 if i%2==1)

sum =1

total = 0

for(i=1;i<=9;i++) :

   sum = 1

   if(i %2 == 1):

      for(j=1;j<=i;j++):

          sum=sum*j

      total = total + sum

print(total)

def Func3(n):
    from math import factorial	
    if n >= 0: return factorial(n)
    else: print('出错')
sum=0
for i in range(1,10):
    #print(i)
    if i%2==1:
        sum = sum+Func3(i)
print(sum)

如果有帮助请点一下我回答右上方的采纳,谢谢!以后有什么问题可以互相交流。

// 方案一
L = [1, 3, 5, 7, 9]


def func(n):
    if n == 1:
        return 1
    else:
        return n * func(n-1)

total = 0

for i in L:
    total = total + func(i)
print(total)

// 或用递归思路也可以实现
 def func(n):
     return 1 if n == 1 else n * func(n-1)
 sum([func(i) for i in [1, 3, 5, 7, 9]])

 

遍历获取10以内奇数然后计算阶乘和

from math import factorial

sum=0
for i in range(10):
    if i%2==1:
        sum+=factorial(i)
print(sum)

 

应该是 s=1!+3!+5!+7!+9! 吧

range(1,10,2)第三个参数每次增加2,就是1,3,5,7,9。

def p(x):
    if x == 1:
        return 1
    return x * p(x-1)

s = 0
for i in range(1,10,2):
    s += p(i)
print(s) #输出 368047

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

代码:

#!/usr/bin/env python3
# coding=utf-8

#定义阶乘的值
jc = []
for i in range(1,10):
    if len(jc) >= 1:
        jc.append(i*jc[-1])
    else:
        jc.append(i)

#计算s的值:
sum = 0
for s in [1,3,3,5,7,9]:
    num = jc[s-1]
    sum += num

print(sum)

测试结果:

(base) [root@theThree 7430584]# time python sum.py
368053

real	0m0.029s
user	0m0.024s
sys	0m0.005s
(base) [root@theThree 7430584]#