帮助循环

时间:2017-05-05 10:35:52

标签: swift

for i in 1...6 {

    for j in 1...7-i {
        print(" ", terminator: "")
    }

    for j in 1...2*i-1 {
        print("*", terminator: "")
    }
    print("")
}
伙计们,我不明白line2是什么意思? 还有第5行

有人可以向我解释,非常感谢

2 个答案:

答案 0 :(得分:0)

这是个不错的三角形。 :)

第一个 for loop表示内部循环执行的次数 那是:6次(1 ... 6)。

for loop表示每行开头的空格 它将执行7次减去外部循环的当前迭代次数,由i表示 例如,在第一次迭代期间:

i = 1
j将是1 ...(7 - 6);这是6次(1 ... 6) 将在第一行放置六个空格

第二次迭代
i = 2
j将是1 ...(7 - 2);这是5次(1 ... 5) 第二行将放置五个空格。

不适用于第三个也是最后一个 for loop:根据外部循环(*),它会在输出中添加i个字符。
例如,在第一次迭代期间
i = 1
j将为1 ...(2 * 1) - 1;这是一次(1 ... 1) 一个*字符将放在第一行。

第三次迭代
i = 3
j将为1 ...(2 * 3) - 1;这是五次(1 ... 5) 五个*个字符将放在第三行。

有趣的代码片段应该放在游乐场中:

playground

我们可以确切地看到发生了什么。 O /

有关for-in loops的{​​{1}}的更多信息:Swift documentation

答案 1 :(得分:0)

这是对你的一个小解释:

for i in 1...6 { // 1) This is loop from 1 to 6 it is the depth of the triangle.

    for j in 1...7-i { // 2) This is empty space " " loop for filling left side of the triangle.
        print(" ", terminator: "")
    }

    for j in 1...2*i-1 { // 3) This is * loop for filling of the triangle parts.
        print("*", terminator: "")
    }
    print("")
}
  1. 我们在每个循环中进行1到6次迭代,j将从1改为6。

  2. 这个迭代用空格填充左边部分,但是我们应该总是留下带有公式的空格(7 - 循环1位置(从1到6))

  3. 此迭代用condtion填充三角形*(2 *循环1位置(从1到6) - 1)