The Boredless Tourist

Hello,

My code at this point is supposed to return:

[[‘LACMA’, [‘art’, ‘museum’]]]

But only returns a empty list:

destinations = [“Paris, France”, “Shanghai, China”,“Los Angeles, USA”, “Sao Paulo, Brazil”, “Cairo, Egypt”]
test_traveler = [‘Erin Wilkes’, ‘Shanghai, China’, [‘historical site’, ‘art’]]
#8, 9, 10
def get_destination_index(destination):
destination_index = destinations.index(destination)
return destination_index
#11
#print(get_destination_index(“Los Angeles, USA”))
#12
#print(get_destination_index(“Paris, France”))
#13, 14
#print(get_destination_index(“Hydrabad, India”))
#15, 16, 17, 18
def get_traveler_locations(traveler):
traveler_destination = traveler[1]
traveler_destination_index = get_destination_index(traveler_destination)
return traveler_destination_index
#19
test_destination_index = get_traveler_locations(test_traveler)
#20
#print(test_destination_index)
#25, 25
attractions = [ for destination in destinations]
#26
#print(attractions)
#27, 31, 32
def add_attraction(destination, attraction):
try:
destination_index = get_destination_index(destination)
attractions_for_destination = attractions[destination_index].append(attraction)
except SyntaxError:
return

#33
add_attraction(“Los Angeles, USA”, [‘Venice Beach’, [‘beach’]])
#34
#print(attractions)
#36
add_attraction(“Paris, France”, [“the Louvre”, [“art”, “museum”]])
add_attraction(“Paris, France”, [“Arc de Triomphe”, [“historical site”, “monument”]])
add_attraction(“Shanghai, China”, [“Yu Garden”, [“garden”, “historical site”]])
add_attraction(“Shanghai, China”, [“Yuz Museum”, [“art”, “museum”]])
add_attraction(“Shanghai, China”, [“Oriental Pearl Tower”, [“skyscraper”, “viewing deck”]])
add_attraction(“Los Angeles, USA”, [“LACMA”, [“art”, “museum”]])
add_attraction(“Sao Paulo, Brazil”, [“São Paulo Zoo”, [“zoo”]])
add_attraction(“Sao Paulo, Brazil”, [“Pátio do Colégio”, [“historical site”]])
add_attraction(“Cairo, Egypt”, [“Pyramids of Giza”, [“monument”, “historical site”]])
add_attraction(“Cairo, Egypt”, [“Egyptian Museum”, [“museum”]])
#38,39,40,41,42,43,44, 45, 46
def find_attractions(destination, interests):
destination_index = get_destination_index(destination)
attractions_in_city = attractions[destination_index]
attractions_with_interest =

for attraction in attractions_with_interest:
possible_attraction = attraction
attraction_tags = attraction[1]

for interest in interests:
  if interest in attraction_tags:
    
   attractions_with_interest.append(possible_attraction)

return attractions_with_interest
#47
la_arts = find_attractions(“Los Angeles, USA”, [‘art’])
#48
print(la_arts)

Please, help

Please format your code so people can read it. Use the “</>” button.

See:

1 Like

Hope this is easier:

destinations = ["Paris, France", "Shanghai, China","Los Angeles, USA", "Sao Paulo, Brazil", "Cairo, Egypt"]
test_traveler = ['Erin Wilkes', 'Shanghai, China', ['historical site', 'art']]
#8, 9, 10
def get_destination_index(destination):
  destination_index = destinations.index(destination)
  return destination_index
#11
#print(get_destination_index("Los Angeles, USA"))
#12
#print(get_destination_index("Paris, France"))
#13, 14
#print(get_destination_index("Hydrabad, India"))
#15, 16, 17, 18
def get_traveler_locations(traveler):
  traveler_destination = traveler[1]
  traveler_destination_index =    get_destination_index(traveler_destination)
  return traveler_destination_index
#19
test_destination_index = get_traveler_locations(test_traveler)
#20
#print(test_destination_index)
#25, 25
attractions = [[] for destination in destinations]
#26
#print(attractions)
#27, 31, 32
def add_attraction(destination, attraction):
  try:
    destination_index = get_destination_index(destination)
    attractions_for_destination = attractions[destination_index].append(attraction)
  except SyntaxError:
      return 
 
#33
add_attraction("Los Angeles, USA", ['Venice Beach', ['beach']])
#34
#print(attractions)
#36
add_attraction("Paris, France", ["the Louvre", ["art", "museum"]])
add_attraction("Paris, France", ["Arc de Triomphe", ["historical site", "monument"]])
add_attraction("Shanghai, China", ["Yu Garden", ["garden", "historical site"]])
add_attraction("Shanghai, China", ["Yuz Museum", ["art", "museum"]])
add_attraction("Shanghai, China", ["Oriental Pearl Tower", ["skyscraper", "viewing deck"]])
add_attraction("Los Angeles, USA", ["LACMA", ["art", "museum"]])
add_attraction("Sao Paulo, Brazil", ["São Paulo Zoo", ["zoo"]])
add_attraction("Sao Paulo, Brazil", ["Pátio do Colégio", ["historical site"]])
add_attraction("Cairo, Egypt", ["Pyramids of Giza", ["monument", "historical site"]])
add_attraction("Cairo, Egypt", ["Egyptian Museum", ["museum"]])
#38,39,40,41,42,43,44, 45, 46
def find_attractions(destination, interests):
  destination_index = get_destination_index(destination)
  attractions_in_city = attractions[destination_index]
  attractions_with_interest = []
  
  for attraction in attractions_with_interest:
    possible_attraction = attraction
    attraction_tags = attraction[1]
    
    for interest in interests:
      if interest in attraction_tags:
        
       attractions_with_interest.append(possible_attraction)
  
  return attractions_with_interest
#47
la_arts = find_attractions("Los Angeles, USA", ['art']) 
#48
print(la_arts)

Did you happen to check the walk thru video and compare your code with that code?
(under “Get unstuck” in the lesson)

Also, sometimes if you read the code from the bottom, up you see it differently and are able to spot errors.
That said, double check your first for loop in the function find_attractions
and also double check this part:
attractions_with_interest.append(possible_attraction)
Something is missing from that.

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.