Почему в рекурсивной функции используется параметр 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".
Почему так сделано - ну фиг его знает, сложно сказать, не видя всего остального кода.