Наше задание состоит в том чтобы написать функцию с циклом , которая возвращает количество убитых монстров первого уровня необходимое игроку для получения заданного уровня. Так как первые два числа равны 1, то при выводе необходимо будет добавить к числу Фибоначчи 1. И получим последовательность 1, 2, 3, 4, 6, 9, 13, 21, 34, 55. Для этого введём переменную которую будем использовать как поправку прибавляя к результату и при уровне героя больше 1 и меньше 7 она будет равняться 1, а в других случаях – 0.
Уровень игрока: 2
Убитых монстров 1-го уровня: 2
python
def calculate_monsters(level):
killed_monsters = 0
correction = 0
# Цикл для достижения нужного уровня героя
for i in range(level):
# Если уровень героя находится в интервале [2, 6], увеличиваем поправку на 1
if i > 0 and i < 7:
correction += 1
# Увеличиваем количество убитых монстров первого уровня и добавляем поправку
killed_monsters += fibonacci(i) + correction
return killed_monsters
Здесь мы создали переменные `killed_monsters` (количество убитых монстров первого уровня) и `correction` (поправка для добавления к числу Фибоначчи) и инициализировали их нулевыми значениями.
Затем мы используем цикл `for` для итерации от 0 до уровня героя. На каждой итерации мы увеличиваем `correction` на 1, если уровень героя находится в интервале [2, 6]. Затем мы добавляем текущее число Фибоначчи (вычисленное с помощью отдельной функции `fibonacci()`) и поправку к `killed_monsters`.
Наконец, мы возвращаем значение `killed_monsters`, которое будет содержать общее количество убитых монстров первого уровня для достижения данного уровня героя.
Теперь нам нужно определить функцию `fibonacci()`, которая будет вычислять число Фибоначчи по заданному индексу:
python
def fibonacci(n):
# Если индекс равен 0 или 1, возвращаем 1
if n == 0 or n == 1:
return 1
# Иначе, вычисляем число Фибоначчи рекурсивно
return fibonacci(n-1) + fibonacci(n-2)
Здесь мы использовали рекурсию для вычисления чисел Фибоначчи. Если индекс равен 0 или 1, мы возвращаем 1. В противном случае мы рекурсивно вызываем функцию `fibonacci()` для индексов `n-1` и `n-2` и складываем их результаты.
Теперь мы можем вызвать нашу функцию `calculate_monsters()` с заданным уровнем героя:
python
level = 2
killed_monsters = calculate_monsters(level)
print("Уровень игрока:", level)
print("Убитых монстров 1-го уровня:", killed_monsters)
Этот код выведет:
Уровень игрока: 2
Убитых монстров 1-го уровня: 3
Таким образом, чтобы достичь второго уровня героя, игроку необходимо убить 3 монстров первого уровня.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет