@Davidaa_WoW

Почему неправильно вычисляется значение?

Есть следующая задача:
628d2c9c2665b617053267.png
Для неё был написан скрипт:
def func(n, b, y):
    result = 0
    for k in range(1, b+1):
        for j in range(1, n+1):
            result += (j**4-23*k**7)
        for k in range(1, b+1):
            result += ((71*y**3)**5-(56*k**3-y-y**2)**2)
    result = ('%.2E' % result)
    print(result)
    return result


def main(n, b, y):
    return float(func(n, b, y))


main(3, 5, -0.2)

Однако он должен возвращать число -7.10e+07, а он возвращает -3.28E+08
Где ошибка?
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
@antares4045
не уверен, формулу вы не так прочитали, или таб не там поставили, но надо так:
def func(n, b, y):
    result = 0
    for k in range(1, b+1):
        for j in range(1, n+1):
            result += (j**4-23*k**7)
    for k in range(1, b+1):
        result += ((71*y**3)**5-(56*k**3-y-y**2)**2)
    result = ('%.2E' % result)
    print(result)
    return result


тогда с вашим ответом сходится
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы