Почему год возвращает значение 1, когда оно должно увеличиваться с каждым циклом? - PullRequest
0 голосов
/ 25 августа 2018

Если цветок вырастает на 1 см в год, сколько времени потребуется для того, чтобы быть 15,24 см?

var year = 0
var length = 0.0

while length <= 15.24 {
    if length.truncatingRemainder(dividingBy: 1.0) == 0 {
        year += 1
    }
    length += 0.01
}

print(year)

Мой подход:

  1. Год увеличивается на 1 каждый раз, когда длинаэто целое число (потому что скорость составляет 1 см / год)
  2. Цель состоит в том, чтобы рассчитать, сколько времени потребуется, чтобы полностью вырасти (15,24 см)
  3. Год должен вернуться 15

Почему возвращается только 1?

1 Ответ

0 голосов
/ 25 августа 2018

Пример масштабирования Int:

var year = 0
var length: Int = 0_00 //1_00 represents 1.00 cm

while length <= 15_24 {
    if length % 1_00 == 0 {
        year += 1
    }
    length += 0_01
}

print(year) //-> 16

(Подчеркивание (_) игнорируется в числовых литералах Swift, оно добавлено только для удобства чтения.)

Кажется, вам нужно немного изменить, если вы ожидаете 15.

...