Форум сайта python.su
В гейм дизайне используются кривые сложности для создания более интересной игры и часто для получения интересной игроку последовательности используют числа Фибоначчи. Наше задание состоит в том чтобы написать функцию с циклом , которая возвращает количество убитых монстров первого уровня необходимое игроку для получения заданного уровня. Так как первые два числа равны 1, то при выводе необходимо будет добавить к числу Фибоначчи 1. И получим последовательность 1, 2, 3, 4, 6, 9, 13, 21, 34, 55. Для этого введём переменную которую будем использовать как поправку прибавляя к результату и при уровне героя больше 1 и меньше 7 она будет равняться 1, а в других случаях - 0.
Пример вывода:
Отредактировано yoloho (Окт. 31, 2023 15:17:30)
Офлайн
>>> def f(lst): ... out = [] ... step = 0 ... for i in lst: ... step += 1 ... if 1 < step < 7: ... n = 1 ... else: ... n = 0 ... out.append(i + n) ... return out ... >>> lst = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] >>> out = f(lst) >>> out [1, 2, 3, 4, 6, 9, 13, 21, 34, 55] >>>
Офлайн