for i in 1...6 {
for j in 1...7-i {
print(" ", terminator: "")
}
for j in 1...2*i-1 {
print("*", terminator: "")
}
print("")
}
傢伙,我不明白什麼是2號線的意義? 還行5與環爲幫助
有人可以解釋給我請非常感謝
for i in 1...6 {
for j in 1...7-i {
print(" ", terminator: "")
}
for j in 1...2*i-1 {
print("*", terminator: "")
}
print("")
}
傢伙,我不明白什麼是2號線的意義? 還行5與環爲幫助
有人可以解釋給我請非常感謝
這是一個不錯的三角形。 :)
第一個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)。
五個*
個字符將被放在第三行。
有趣的類似代碼塊應該被放在一個遊樂場:
我們可以清楚地看到發生了什麼事情。在for-in loops
O/
更多信息與numeric ranges
:Swift documentation
謝謝兄弟。這是非常好的答案。我剛剛在快速編程書中找到了練習,只是混淆了第二個循環如何工作。現在清楚。很好的答案。 –
這是小解釋你:
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次迭代將被改變從1至6
這個迭代填充左側空的空間,但與infomration我們應該ALW AYS留空空間與式(7 - 環1位(從1至6))
該重複填充*不與condtion三角形的(2 *循環1個位置(從1至6) - 1)
打印 「I」,在每行 「J」,它可以幫助你。 – Larme