Помогите с тестом)
Однажды ведущий на свадьбе решил развлечь гостей, пока они собираются, и установил правило: как только приходит новый гость, все выпивают за здоровье молодых.
Давай поможем ведущему посчитать, сколько порций выпивки нужно приготовить, и напишем функцию 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 шт):
Задача решается аналитически, и, кажется, маленький Гаусс решил её во втором классе, написав формулу n*(n+1)/2.
Ошибка в том, что, хотя Вы написали функцию, которая посчитает то же самое через цикл, но функцию Вы нигде не вызываете ни с каким параметром.
def get_drinks(number_of_guests: int) -> int:
sum = 0
for drinks in range(0, number_of_guests + 1):
sum += drinks
return sum