Antwort
Funktion diff
nichts zurückkehrt, deshalb print diff(z)
nur None
ausdrucken. Es sollte wie diese
def diff(n):
x = n**(1.0/2)
y = (n-2)**(1.0/2)
differ = x-y
return differ
z = 2
while z >= 0 and z <= 100:
print diff(z)
z = z+1
sein, wie der Kommentar richtig darlegt, diff
hat keinen expliziten Rückgabewert. Dies wäre nicht so schlecht, da diff
den gewünschten Nebeneffekt hat, die gewünschte Zahl zu drucken. Da Sie Python jedoch bitten, das Ergebnis diff
in der while-Schleife zu drucken, erhalten Sie None
jedes Mal, wenn diff
aufgefordert wird, einen Rückgabewert anzugeben. Sie können dies beheben, indem Sie diff ändern, um keine Nebenwirkungen zu haben, sondern den Wert zurückgeben (einfach print
zu return
ändern) oder die Funktion wegen ihres Nebeneffekts aufrufen, aber nicht versuchen, ihren Rückgabewert auszudrucken (die print
Anweisung loszuwerden) in der while-Schleife).
hoffe, das hilft
- 1. Warum wird diese Schleife nur einmal ausgeführt?
- 2. Inkrementieren jedes Mal, wenn Skript ausgeführt wird
- 3. For Schleife wird nur einmal ausgeführt
- 4. Einen Cronjob jedes Mal anpassen, wenn er ausgeführt wird?
- 5. C# Wie erstelle ich eine Prozedur, die jedes Mal ausgeführt wird, wenn ein Formular geladen wird?
- 6. Warum bekomme ich jedes Mal die gleiche Nummer, wenn ich meine Warteschlange lösche?
- 7. Einfache jQuery-Animation sollte jedes Mal ausgeführt werden, wenn ich klicke, nicht nur einmal
- 8. Schleife ausgeführt 3 mal
- 9. While-Schleife einmal ausgeführt (?)
- 10. AngularJS JavaScript for Schleife Warnung, die höchstens einmal ausgeführt wird
- 11. Stellen Sie sicher, Code wird jedes Mal, wenn ein Controller ausgeführt wird ausgeführt
- 12. Ionic Web Service jedes Mal, wenn die Seite geöffnet wird
- 13. Jedes Mal, wenn die Schaltfläche geklickt wird, wird MVVM verwendet.
- 14. Android - SwitchCompat OnCheckedChangeListener Aktion ausgeführt wird jedes Mal, wenn die Aktivität gestartet wird
- 15. Warum funktioniert diese Funktion? Sollte nicht "ausgeführt" jedes Mal, wenn die Funktion aufgerufen wird, zu false zurückkehren?
- 16. Wie bekomme ich meinen Countdown-Timer auf jedes Mal zurückgesetzt, wenn die Ansicht geladen wird?
- 17. Warum wurde s: action nicht jedes Mal ausgeführt?
- 18. Wird in Rails 5 jedes Mal das Setup aufgerufen, wenn der Test ausgeführt wird?
- 19. Warum steigt mein Speicherverbrauch jedes Mal, wenn ich Mnesia abfrage?
- 20. Java - Läuft eine Schleife jedes Mal länger?
- 21. Rhino Mocks, die jedes Mal, wenn die Stub-Methode ausgeführt wird, ein anderes Ergebnis zurückgibt
- 22. Java Wie bekomme ich jedes Mal eine Zufallszahl, wenn eine While-Schleife beginnt?
- 23. Warum wird die Funktion ausgeführt, wenn keine Elemente gefunden werden?
- 24. Warum ist die Segmentation jedes Mal fehlerhaft?
- 25. Wie bekomme ich setInterval nur einmal ausgeführt?
- 26. CXCallObserver feuert Delegate-Methode jedes Mal, wenn ApplicationDidBecomeActive aufgerufen wird?
- 27. AutoMapper: Warum wird UseValue nur einmal ausgeführt?
- 28. #default wird jedes Mal ausgegeben - Switch case
- 29. "runOnUIThread" wird jedes Mal schrittweise ausgeführt, wenn ich zur Aktivität zurückkehre.
- 30. SharedPreferences wird zurückgesetzt, jedes Mal die App
Sie 'print' den Rückgabewert von' diff'. Da 'diff' nichts explizit zurückgibt, wird implizit eine' None' zurückgegeben. –
@Nirbhay: Die Funktion wurde zuerst aus der Schleife aufgerufen, bekam aber nichts, bis "print differ" ausgeführt wurde und am Ende gab die Funktion nichts zurück, so dass Sie 'None' erhalten. – lkdhruw
das war nützlich, hoch und funktioniert !! Danke –