Почему в рекурсивной функции используется параметр item?

def look_for_key(box):
    for item in box:
        if item == 'box':
            look_for_key(item)  # вот тут
        elif item == 'key':
            print(f'the key was found in the {box.index(item)+1} box')

Ответы (2 шт):

Автор решения: Алексей Белкин

Это просто переменная, которую так назвали, можете хоть что туда написать, даже "abraktabra" - и будет работать.

Человек, который писал код, предполагал, что box состоит из элементов каких-то (либо ключи словаря, либо элементы списка, множества, строки и т.п., во-общем, какое-то перечисляемое значение) И вот то, из чего состоит box - это и передается в функцию, которая что-то возвращает.

→ Ссылка
Автор решения: Эникейщик

Параметр item используется там, чтобы вызвать функцию look_for_key() с параметром равным "box". Фактически в данной ситуации запись look_for_key(item) эквивалентна записи look_for_key("box"), т.к. эта строчка выполняетс только тогда, когда значение item равно "box".

Почему так сделано - ну фиг его знает, сложно сказать, не видя всего остального кода.

→ Ссылка