In swift versuche ich eine Methode zu schreiben, um den Durchschnitt zu berechnen. Mit der folgenden Methode, wenn ich den Durchschnitt (5,10,15) tippe, wird im swift-playforund unendlich angezeigt
%Vor% Es ist so viel einfacher mit einem einfachen Aufruf von reduce
:
Während andere bereits auf die fehlende Zählvariable hingewiesen haben, ist es erwähnenswert, dass Sie den Durchschnitt noch eleganter machen können, indem Sie wie folgt Schließungen verwenden:
%Vor% Sie erhalten unendlich, weil count
immer 0 ist - es wird niemals erhöht. Also wird die Variable ave
immer gleich einer Zahl über 0 sein, was ein Fehler durch Division durch Null ist.
Verwenden Sie bei jeder Iteration durch die Schleife countElements(numbers)
oder Inkrementierung.
Folgendes habe ich getan:
%Vor%Beachten Sie, dass ich Doubles als Eingabe akzeptiere, nicht nur als Ints. Ich bin am Ende ein wenig wortreich, aber ich habe nach lesbarem Code gesucht. Ich könnte wahrscheinlich gerade zurückgekommen sein:
%Vor%am Ende und gespeichert ein paar Zeilen Code.
Tags und Links swift swift-playground