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行
有人可以向我解释,非常感谢
答案 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)
五个*
个字符将放在第三行。
有趣的代码片段应该放在游乐场中:
我们可以确切地看到发生了什么。 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到6次迭代,j将从1改为6。
这个迭代用空格填充左边部分,但是我们应该总是留下带有公式的空格(7 - 循环1位置(从1到6))
此迭代用condtion填充三角形*(2 *循环1位置(从1到6) - 1)