title: I am trying to give the heuristics using random function. Can anyone please correct me
body: <pre><code>def getNeighbors(v, adjacency_list):
      return adjacency_list[v]
  
  import random
  
  def h(n):
      H = {
              'A': 14,
              'B': 12,
              'C': 11,
              'D': 6,
              'E': 4,
              'F': 11,
              'Z':random.randint(0,22), 
  </code></pre>
  <p>Error message shows in this line saying invalid syntax.
  h('Z')=='Z',
  }</p>
  <pre><code>    return H[n]
  
  def A_star(start_node, stop_node,adjacency_list):
      open_list = set([start_node])
      closed_list = set([])
      g = {}
  
      g[start_node] = 0
          
      parents = {}
      parents[start_node] = start_node
  
      while len(open_list) &gt; 0:
          n = None            
          for v in open_list:
              if n == None or g[v] + h(v) &lt; g[n] + h(n):
                  n = v;
          if n == None:
              print('Path does not exist!')
              return None
                       
          if n == stop_node:
              reconst_path = []
              while parents[n] != n:
                  reconst_path.append(n)
                  n = parents[n]
  
              reconst_path.append(start_node)
              reconst_path.reverse()
              print('Path found: {}'.format(reconst_path))
              return reconst_path
              
          for (m, weight) in getNeighbors(n,adjacency_list):
              if m not in open_list and m not in closed_list:
                  open_list.add(m)
                  parents[m] = n
                  g[m] = g[n] + weight
              else:
                  if g[m] &gt; g[n] + weight:
                      g[m] = g[n] + weight
                      parents[m] = n
                      if m in closed_list:
                          closed_list.remove(m)
                          open_list.add(m)
  
          open_list.remove(n)
          closed_list.add(n)
  
      print('Path does not exist!')
      return None
  adjacency_list = {
       'A': [('B', 4), ('C', 3)],
       'B': [('E', 12),('F',5)],
       'C': [('D', 7),('E',10)],
       'D': [('E',2)],
       'E': [('Z',5)],
       'F': [('Z',16)]
       }
  
  A_star('A', 'Z',adjacency_list)
  </code></pre>
  <p>I would like to know if there is anything wrong with my code. Here I am trying to implement the A star algorithm while giving heuristics randomly, Are there any mistakes that I have done. I know there might be a very silly one. If you find anything please correct me.</p>