为什么在每个循环中应该增加的年份返回值为1?

时间:2018-08-25 18:50:19

标签: swift loops while-loop

如果一朵花每年长1cm,要花多长时间才能达到15.24cm?

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 :(得分:2)

缩放后的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,似乎需要进行一些修改。