學習記錄#60 畫星星蘋果 — nested loop(巢狀迴圈)
Published in
6 min readDec 12, 2020
目的: 學習使用 for 迴圈。
- 從 segmented control 選擇形狀,有正方形,三角形,金字塔和菱形四種。
- 從 slider 改變數量。
- 畫 2 種 Apple,比方有紅色跟綠色。
正方形
//正方形for _ in 1...number {let star = numberlet showstar = String(repeating: "⭐️", count: star)showlabel = showlabel + showstarshowlabel = showlabel + "\n" }label.text = showlabelshowslider.text = "\(number)"
另一種寫法
//正方形for _ in 1...number { for _ in 1...number { showlabel = showlabel + "⭐️" } showlabel = showlabel + "\n"}label.text = showlabelshowslider.text = "\(number)"
三角形
///三角形for i in 1...number { for _ in 1...i {showlabel = showlabel + "⭐️" }showlabel = showlabel + "\n" }label.text = showlabelshowslider.text = "\(number)"
金字塔
//金字塔for i in 1...number {let apple = number - ilet star = (i*2) - 1let showapple = String(repeating: "🍎", count: apple)let showstar = String(repeating: "⭐️", count: star)showlabel = showlabel + showapple + showstarshowlabel = showlabel + "\n"label.text = showlabelshowslider.text = "\(number)"}
菱形
//菱形var apple:Intvar star:Intfor i in 1...number*2 - 1 { if i < number { star = (i*2) - 1 apple = number - i } else { star = (number * 2 - i ) * 2 - 1 apple = i - number }let showstar = String(repeating: "⭐️", count: star)let showapple = String(repeating: "🍎", count: apple )showlabel = showlabel + showapple + showstarshowlabel = showlabel + "\n"label.text = showlabelshowslider.text = "\(number)"
倒三角
//倒三角for i in 1...number {let star = number - i + 1let showstar = String(repeating: "⭐️", count: star)showlabel = showlabel + showstarshowlabel = showlabel + "\n"}label.text = showlabelshowslider.text = "\(number)"
正方形--將最後一行變成蘋果
//正方形劃底線for i in 1...number { for _ in 1...number { if i == number {showlabel = showlabel + "🍎" } else {showlabel = showlabel + "⭐️" } }showlabel = showlabel + "\n" }label.text = showlabelshowslider.text = "\(number)"
正方形 — 將斜線變成蘋果
//正方形劃斜線for i in 1...number { for j in 1...number { if i + j == number + 1 {showlabel = showlabel + "🍎" } else {showlabel = showlabel + "⭐️" } }showlabel = showlabel + "\n"}label.text = showlabelshowslider.text = "\(number)"
正方形 — 星星與蘋果交錯
//正方形圖案交錯for i in 1...number { for j in 1...number { if i % 2 == 0 , j % 2 != 0 { showlabel = showlabel + "🍎" } else if i % 2 == 1 , j % 2 != 1 { showlabel = showlabel + "🍎" } else { showlabel = showlabel + "⭐️" } } showlabel = showlabel + "\n"} label.text = showlabel showslider.text = "\(number)"
完整程式Github
參考資料: