Помогите с тестом)

Однажды ведущий на свадьбе решил развлечь гостей, пока они собираются, и установил правило: как только приходит новый гость, все выпивают за здоровье молодых.

Давай поможем ведущему посчитать, сколько порций выпивки нужно приготовить, и напишем функцию get_drinks. Она принимает целое число number_of_guests и возвращает необходимое количество порций выпивки, чтобы хватило всем гостям.

Например, если number_of_guests = 3, то понадобится:

1 порция, когда придёт первый гость; ещё 2 порции, когда придёт второй; и ещё 3, когда придёт третий. Итого 1 + 2 + 3 = 6 порций.

Предлагаем воспользоваться циклом for и, когда приходит следующий гость, просто добавлять то, что выпили сейчас, к тому, что выпили раньше. вот пример моего решения

def get_drinks(number_of_guests: int) -> int:
    # write your code here
    sum = 0
    for i in range(0, number_of_guests):
        sum += i
        print(sum)

но выводит результат null в чем ошибка у меня?


Ответы (2 шт):

Автор решения: S.H.

Задача решается аналитически, и, кажется, маленький Гаусс решил её во втором классе, написав формулу n*(n+1)/2.

Ошибка в том, что, хотя Вы написали функцию, которая посчитает то же самое через цикл, но функцию Вы нигде не вызываете ни с каким параметром.

→ Ссылка
Автор решения: Nazar
def get_drinks(number_of_guests: int) -> int:
    sum = 0
    for drinks in range(0, number_of_guests + 1):
        sum += drinks
    return sum 
→ Ссылка