Hello everyone, I've just started learning python and I'm having some issues. I think I've solved the problem but I was testing it on a single-letter strings and I found out the hard way that when I enter a longer string my code doesn't work at all. Is there a way to fix it? I would appreciate any help.
def check_connection(network, first, second):
print("first:",first)
end = set(second)
visited = set()
explore = set(first)
while len(explore) > 0:
print("visited:",visited)
print("explore:",explore)
explore_element = set(explore.pop())
print("checking element:",explore_element)
add_explore = set()
for n in network:
n = set(n.split('-'))
if explore_element <= n and n-visited == n:
add_explore = add_explore|(n-explore_element)
print("adding to explore:",add_explore)
if end <= add_explore:
return True
visited = visited|explore_element
explore = explore|add_explore
print()
print("visited:",visited)
return False
print(check_connection(("A-B","B-C","C-D","D-B","D-E","F-G"),"A","E"))
print("---------------")
print(check_connection(("dr101-mr99","mr99-out00","dr101-out00",
"scout1-scout2","scout3-scout1","scout1-scout4","scout4-sscout",
"sscout-super",),"scout2","scout3"))
Created at: 2015/10/03 13:37; Updated at: 2016/04/14 12:06