У меня есть следующий код:
def dfs(graph, start, visited=None):
if visited is None:
visited = set()
visited.add(start)
store = graph[start] - visited
for next in store:
if next[-1] == start[-1]:
return 'hello there'
dfs(graph, next, visited)
return visited
graph = {'A1': set(['B1', 'C2']),
'B1': set(['A1', 'D1', 'E2']),
'C2': set(['A1', 'F1']),
'D1': set(['B1']),
'E2': set(['B1', 'F1']),
'F1': set(['C2', 'E2'])}
dfs(graph, 'C2')
Я часто запускаю свои программы в python визуализации, чтобы понять, что происходит в программе. Когда я запускаю программу, указанную выше, я получаю:
Но я хочу, чтобы в этом случае последнее возвращаемое значение функции было «Привет!», Так как следующее [-1] == start [-1] - True (я имею в виду возвращаемое значение в строке 19). Я знаю, почему возвращаемое значение не «привет», но я хочу получить это возвращаемое значение. Существует ли какая-либо встроенная функция python, которая сообщает программе о том, что она должна игнорировать все, что находится выше в стеке вызовов, и возвращать 'hello there' для вызова функции в строке 19? Или как мне это сделать в этом случае?
Спасибо за ответы!