Ich möchte den folgenden Effekt erzielen, bei dem der Betrag weiter abgezogen wird.

enter image description here

Ich kann das nur schaffen. Offensichtlich fehlt mir etwas. Wenn es Ihnen nichts ausmacht, mich auf die richtige Richtung hinzuweisen.

enter image description here

Schätzen Sie es guckt.

EDIT: Danke an alle, es macht jetzt Sinn. Ich lerne jeden Tag mehr.

-3
Kelvin Tan 18 Apr. 2018 im 10:39

5 Antworten

Beste Antwort

Sie berücksichtigen die Indexvariable i nicht

Wenn loan der Anfangswert und payback 300 ist, müssen Sie loan - payback * i berechnen

let loan = 5000
let payback = 300
for i in 0..<17 {
    let balance = loan - payback * i
    print(balance)
}
3
vadian 18 Apr. 2018 im 07:46

Sie sagen, dass Saldo = Darlehen - Rückzahlung, aber Sie ändern nicht den Wert des Darlehens oder der Rückzahlung. Ich denke du willst das machen:

balance = loan
for i in (0..<12) {
  balance -= payback
  print(balance)
}

Zuerst weisen wir den Wert des Kredits auszugleichen und die Rückzahlungen abzuziehen, um den gewünschten Effekt zu erzielen und den ursprünglichen Wert des Kredits beizubehalten

3
Pablo Sanchez Gomez 18 Apr. 2018 im 07:42

Sie müssen den Darlehenswert wie unten ändern

balance = loan
for i in (0..<12) {
  balance = loan - payback
  loan = balance
  print(balance)
}
3
Govind Prajapati 18 Apr. 2018 im 07:46

Eine alternative Möglichkeit: Beginnen Sie mit loan und subtrahieren Sie wiederholt payback, bis die Zahl Null erreicht:

let loan = 5000
let payback = 300

for balance in sequence(first: loan, next: { $0 - payback} ).prefix(while: { $0 > 0 }) {
    print(balance)
}

Verweise:

1
Martin R 18 Apr. 2018 im 08:06

Sie können dies versuchen:

 var aValue = 5000
    let bValue = 300
    for i in 0..<12 { //I guess the loop will be max 17 times if value is 5000 or the value will come in Negative

        let valueToMinus = bValue * i

        let cValue = aValue - valueToMinus
        print(cValue)//Resulted Output From Main
    }

Ich hoffe das hilft.

0
Abhirajsinh Thakore 18 Apr. 2018 im 07:50