26
Янв
2022

Помогите пожалуйста решить задачу по Python

Помогите пожалуйста написать функцию sequence(n), которая будет распечатывать последовательность чисел без использования цикла for / while. Если задано число n, нужно вывести последовательность чисел без использования цикла. Мы уменьшаем число n на 5, пока не достигнем отрицательного числа или 0.

Не могу понять куда поставить list_of_numbers=[]. Из-за того, что там где сейчас он стоит у меня не получается добавлять новые значения n в список list_of_numbers. В ответе только печатается список из последних значений. Например при n=16 ответ получается n=[-4], а не [16, 11, 6, 1, -4]. Если выносить снаружи функции def, то при последующем использовании другого значения n, список добавляет новые значения к уже существующим ранее значениям. Также по условиям задачи в функции sequence(n) должен быть только один входной аргумент, поэтому туда list_of_numbers тоже нельзя вносить

def sequence(n):
    list_of_numbers=[]
    list_of_numbers.append(n)
    if n<=0:
        return list_of_numbers 
    return sequence(n-5)

Ответ например при print(sequence(16)):
[16, 11, 6, 1, -4]
При print(sequence(40)):
[40, 35, 30, 25, 20, 15, 10, 5, 0]

Источник: https://ru.stackoverflow.com/questions/1375180/%D0%9F%D0%BE%D0%BC%D0%BE%D0%B3%D0%B8%D1%82%D0%B5-%D0%BF%D0%BE%D0%B6%D0%B0%D0%BB%D1%83%D0%B9%D1%81%D1%82%D0%B0-%D1%80%D0%B5%D1%88%D0%B8%D1%82%D1%8C-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D1%83-%D0%BF%D0%BE-python

Тебе может это понравится...

Добавить комментарий