Как исправить мой математический код о серии в Python? - PullRequest
0 голосов
/ 24 апреля 2019

Мне нужно написать базовый цикл «for», который вычисляет математическую задачу, которую я написал ниже. Я пытался написать это, но я не уверен, что это правильно. Вы можете это исправить, если с этим что-то не так?

\prod^{6}_{n=1} \sum^{10}_{m=2}(n^3+1)^{2m+1}

(m = 2 и n = 1 - нижний предел)

a=1
b=0

for n in range(1,7):
    for m in range(2,11):
        x=(n**3+1)**(2*m+1)
        b=b+x
    a=a*b
print(a)

1 Ответ

0 голосов
/ 24 апреля 2019

Переменная b не сбрасывается после каждой итерации, поэтому суммы неверны.Если вы хотите использовать циклы, сделайте это:

a=1

for n in range(1,7):
    b=0
    for m in range(2,11):
        b+=(n**3+1)**(2*m+1)
    a*=b
print(a)

Если вы хотите быть более кратким, сделайте это:

a=1
for n in range(1,7):
    a*=sum((n**3+1)**(2*m+1) for m in range(2,11))
print(a)
...