Eingebettete Funktion gibt keine zurück

Meine Funktion gibt None . Ich habe überprüft, um sicherzustellen, dass alle Operationen korrekt sind und dass ich eine return-Anweisung für jede Funktion habe.

 def parameter_function(principal, annual_interest_rate, duration): n = float(duration * 12) if annual_interest_rate == 0: r = float(principal / n) else: r = float(annual_interest_rate / 1200) p = principal return (p, r, n) def monthly_payment_function(p, r, n): monthly_payment = p * ((r * ((1 + r) ** n)) / (((1 + r) ** n) - 1)) result = monthly_payment_function(p, r, n) return result 

  • Ich bekomme einen NameError: name 'n' ist nicht definiert
  • Python-Fabrik Funktionen im Vergleich zu Klasse
  • Wie schreibe ich eine Funktion in python
  • Python-Funktionscode-Fehler
  • Mit mehr als einem Parameter mit def in Python
  • Rufen Sie eine Funktion in Python-Skript dann überprüfen, wenn Bedingung
  • Wie gibt es unterschiedliche Eingabetypen für die gleiche Funktion?
  • Gibt es einen Overhead beim Nesting von Funktionen in Python?
  • One Solution collect form web for “Eingebettete Funktion gibt keine zurück”

    monthly_payment_function gibt nichts zurück. Ersetzen Sie monthly_payment= mit return (das ist 'return' gefolgt von einem Leerzeichen).

    Auch hast du eine bedingungslose return vor def monthly_payment_function , was def monthly_payment_function , dass es niemals angerufen wird (streng genommen wird es niemals sogar definiert).

    Auch du bist ziemlich zufällig mischende Einheiten, und deine Variablennamen könnten etwas Hilfe benutzen:

     from __future__ import division # Python 2.x: int/int gives float MONTHS_PER_YEAR = 12 def monthly_payment(principal, pct_per_year, years): months = years * MONTHS_PER_YEAR if pct_per_year == 0: return principal / months else: rate_per_year = pct_per_year / 100. rate_per_month = rate_per_year / MONTHS_PER_YEAR rate_compounded = (1. + rate_per_month) ** months - 1. return principal * rate_per_month * (1. + rate_compounded) / rate_compounded 
    Python ist die beste Programmiersprache der Welt.