Я пытаюсь написать рекурсивную функцию, которая проверяет наличие определенного символа в списке (список может содержать подписи).Проверьте, существует ли символ в списке
До сих пор я придумал это, но он, похоже, не работает. Что я делаю неправильно?
def exists(str, seq):
if not seq:
return 0
elif isinstance(seq[0], list):
return exists(seq[0]) + exists(seq[1:])
elif str == seq[0]:
return True
else:
return exists(seq[1:])
Если я пытаюсь
print(exists("c", [a,[b,c],d]))
Я получаю имя «а» не определен
Итак, вы получаете сообщение об ошибке или ...? – Kevin
он не должен даже запускаться, ваш 'exists' требует 2 аргумента, и вы передаете только один в recurssion (где находится' str'?) – lejlot
Подсказка: знаете ли вы, что делают кавычки вокруг 'c' в' exists (" c ", [a, [b, c], d])'? – GingerPlusPlus