<style>.lazy{display:none}</style>Задачка: Подсчет суммы чисел от 1 до N

Задачка: Подсчет суммы чисел от 1 до N

Напишите функцию, которая принимает на вход число N и возвращает сумму всех чисел от 1 до N включительно.

Функция должна называться calculate_sum.
Функция должна принимать одно целочисленное значение N в качестве аргумента.
Функция должна вернуть сумму всех чисел от 1 до N.

Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ


Требования к тестам с использованием pytest:
Напишите тесты для функции calculate_sum с различными значениями N, включая положительные и отрицательные числа, а также нуль.
Убедитесь, что функция возвращает корректную сумму для всех входных данных.

Пишите ваши варианты в комментариях.

Наше решение:

# sum_of_numbers.py
def calculate_sum(N):
    return sum(range(1, N + 1))

# test_sum_of_numbers.py
import pytest
from sum_of_numbers import calculate_sum

def test_calculate_sum_positive():
    assert calculate_sum(5) == 15

def test_calculate_sum_negative():
    assert calculate_sum(-5) == 0

def test_calculate_sum_zero():
    assert calculate_sum(0) == 0

def test_calculate_sum_large():
    assert calculate_sum(100) == 5050

В этом примере функция calculate_sum принимает число N, затем использует функцию sum и range для подсчета суммы чисел от 1 до N. Тесты проверяют правильность работы функции для различных входных данных.

1 комментарий к “Задачка: Подсчет суммы чисел от 1 до N”

  1. def calculate_sum(N):
    if N >= 1:
    K = 1
    else:
    K = -1
    S = (N + 1) * (K * (N – 1 + K)) // 2
    return(S)

    Эта функция имеет константное время выполнения в отличие от предложенной, которая имеет как минимум порядок N.
    Например, взять N= 1000000000000000 или -1000000000000000
    и посмотреть время выполнения.
    Можно код сделать более лаконичным, используя тернарную опреацию в условии.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *