#python
Вопрос:
Я пишу функцию обратного отсчета, в которой у меня есть начальное число под названием «старт» и значение «шаг», которое опускается по списку на это число. Код, который я написал, отлично работает, когда выполняются оба позиционных аргумента, но я также хочу, чтобы код вернулся к значению по умолчанию 1 для «шага», если он не вызывается.
def countdown(start, step):
return list(range(start,0,-step))
countdown(5)
TypeError: countdown() missing 1 required positional argument: 'step'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-114-2bcc97921a23> in <module>
3
4 countdown(5,1)
----> 5 countdown(5)
TypeError: countdown() missing 1 required positional argument: 'step'
Комментарии:
1. Пробовали ли вы
def countdown(start, step=1):
или что-либо другое , чего можно было бы разумно ожидать для достижения вашей заявленной цели?2. Если вы хотите, чтобы аргумент был необязательным, задайте ему значение по умолчанию в определении функции.
Ответ №1:
Добавьте значение по умолчанию в подпись функции.
def countdown(start, step=1):
return list(range(start,0,-step))