title: Returning a value from a function failed with NoneType
body: <p>I have a problem with returning a value from an external function.</p>
  <p>Function:</p>
  <pre><code>def dijkstra(netzwerk,startpunkt,zielpunkt,punkt_geprueft=[],entfernungen={},vorgaenger={}):
      if startpunkt not in netzwerk:
          raise TypeError('Start- und/oder Zielpunkt nicht vorhanden')
      if zielpunkt not in netzwerk:
          raise TypeError('Zielpunkt kann nicht gefunden werden')
      if startpunkt == zielpunkt:
          weg_pfad=[]
          variable_fuer_vorgaenger=zielpunkt
          while variable_fuer_vorgaenger != None:
              weg_pfad.append(variable_fuer_vorgaenger)
              variable_fuer_vorgaenger=vorgaenger.get(variable_fuer_vorgaenger,None)
          return weg_pfad
          #print(weg_pfad)
      else :
          if not punkt_geprueft:
              entfernungen[startpunkt]=0
          for nachbarpunkt in netzwerk[startpunkt] :
              if nachbarpunkt not in punkt_geprueft:
                  neue_entfernung = entfernungen[startpunkt] + netzwerk[startpunkt][nachbarpunkt]
                  if neue_entfernung &lt; entfernungen.get(nachbarpunkt,float('inf')):
                      entfernungen[nachbarpunkt] = neue_entfernung
                      vorgaenger[nachbarpunkt] = startpunkt
          punkt_geprueft.append(startpunkt)
          ungeprueft={}
          for k in netzwerk:
              if k not in punkt_geprueft:
                  ungeprueft[k] = entfernungen.get(k,float('inf'))
          nd= min(ungeprueft, key=ungeprueft.get)
          dijkstra(netzwerk,nd,zielpunkt,punkt_geprueft,entfernungen,vorgaenger)
  </code></pre>
  <p>Main function:</p>
  <pre><code>startpunkt = self.dlg.DStart.text()
  zielpunkt = self.dlg.DEnd.text()
  weg_pfad = dijkstra(netzwerk, startpunkt, zielpunkt)
  print(weg_pfad)
  self.dlg.OutputText.append(weg_pfad)
  self.dlg.OutputText.append(&quot;Ergebnis für Dijkstra Algorithmus&quot;)
  </code></pre>
  <p>Printing the value <code>weg_pfad</code> in the function gives me a value: <code>['P5', 'P3']</code>.
  Printing the value in the main function gives me <code>None</code>.</p>
  <p>Why is this and how can I fix it?</p>
  <p>The next step is returning multiple values -&gt; <code>weg_pfad</code> and <code>entfernungen[zielpunkt]</code>.</p>