发现了一个总是疏忽的地方

51 阅读2分钟

在给变量命名是,有时候会不自觉地给不同变量命名相同的名字。

比如下面,声明了两次重复的index,尤其是在后续使用indexT的时候,没有注意到错误。

其实这道题,开始有部分提示,还是没有从整体上把握好,没有充分考虑所有条件。

还有就是,对for的理解也不够深入:本来可以直接用for遍历所有元素的,非要用.indices拿到索引号,这就是路径依赖。

所以一定要分清情况,谨记for直接就可以遍历数组中的每个元素,其次,根据情况使用.indices。

`for indexT in 所有投票主題.indices {

    var 贊成 = 0.0

    let 投票主題 = 所有投票主題[indexT]

    for index in 所有投票.indices {    //这里重复了,本来可以直接用for循环逐个赋值,然后用if判断。但是我又先取了索引值,又用索引值重新标记元素,重复搞了。记住,for循环本来就可以直接拿第一个元素的,不用先拿索引值。当时我孩子考虑1000个元素,用0...1000这种方式,太傻了。谨记,for循环可以直接遍历数组中的每一个元素。

        let 投票單 = 所有投票[index]    //将 所有投票 數組的第一個元素赋值给投票单,這個元素有6個值

        let 支持  = 投票單[indexT]          // 将投票单(6個元素的為一組)的的第一位赋值給支持

        if 支持 {贊成 += 1}

    }

    let 支持率 = Int(贊成 / Double(所有投票.count) * 100)

    if 支持率 > 50 {

        print("(投票主題)的支持率是(支持率)%,通過。")

    }else {

        print ("(投票主題)的支持率是(支持率)%,不通過。")

    }

}`