Swift 程式列印螺旋圖案
本教程將討論如何編寫 Swift 程式來列印螺旋圖案。
數字圖案是一系列數字,用於開發不同的圖案或形狀,例如金字塔、矩形、十字形等。這些數字圖案通常用於理解或練習程式流程控制,它們也對邏輯思維很有幫助。
要建立數字螺旋圖案,我們可以使用以下任何一種方法 -
- 使用巢狀 for 迴圈
- 使用 stride 函式
以下是演示 -
輸入
假設我們的給定輸入是 -
Num = 6
輸出
所需的輸出將是 -
6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 5 4 4 4 4 4 4 4 5 6 6 5 4 3 3 3 3 3 4 5 6 6 5 4 3 2 2 2 3 4 5 6 6 5 4 3 2 1 2 3 4 5 6 6 5 4 3 2 2 2 3 4 5 6 6 5 4 3 3 3 3 3 4 5 6 6 5 4 4 4 4 4 4 4 5 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6
方法 1 - 使用巢狀 for 迴圈
我們可以使用巢狀 for 迴圈建立左三角形星形圖案或任何其他圖案。
示例
以下程式顯示瞭如何使用巢狀 for 迴圈列印數字螺旋圖案。
import Swift import Foundation var number = 4 var patternSize = 2 * number - 1 // Handle each row for x in 1...patternSize{ // Printing the number in spiral pattern for y in 1...patternSize{ print(max(abs(x-number), abs(y-number)) + 1, terminator: " ") } // Add new line print(" ") }
輸出
4 4 4 4 4 4 4 4 3 3 3 3 3 4 4 3 2 2 2 3 4 4 3 2 1 2 3 4 4 3 2 2 2 3 4 4 3 3 3 3 3 4 4 4 4 4 4 4 4
在這裡,在上面的程式碼中,我們使用巢狀 for 迴圈來列印數字螺旋圖案。最外面的 for 迴圈(從 1 到 patternSize)用於處理要列印的行總數,並且每一行都以換行符開頭。現在,巢狀的 for 迴圈(從 1 到 patternSize)用於列印數字螺旋圖案。
方法 2 - 使用 Stride 函式
Swift 提供了一個名為 stride() 的內建函式。stride() 函式用於從一個值移動到另一個值,並進行遞增或遞減。或者我們可以說 stride() 函式返回從起始值開始的序列,但不包括結束值,並且給定序列中的每個值都按給定量遞增。
語法
以下是語法 -
stride(from:startValue, to: endValue, by:count)
這裡,
from - 表示用於給定序列的起始值。
to - 表示限制給定序列的結束值
by - 表示每次迭代的步長,這裡正值表示向上迭代或遞增,負值表示向下迭代或遞減。
示例
以下程式顯示瞭如何使用 stride() 函式列印數字螺旋圖案。
import Swift import Foundation var number = 7 var patternSize = 2 * number - 1 // Handle each row for x in stride(from:1, to:patternSize+1, by: 1){ // Printing the number in spiral pattern for y in stride(from:1, to:patternSize+1, by: 1){ print(max(abs(x-number), abs(y-number)) + 1, terminator: " ") } // Add new line print(" ") }
輸出
7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 7 7 6 5 5 5 5 5 5 5 5 5 6 7 7 6 5 4 4 4 4 4 4 4 5 6 7 7 6 5 4 3 3 3 3 3 4 5 6 7 7 6 5 4 3 2 2 2 3 4 5 6 7 7 6 5 4 3 2 1 2 3 4 5 6 7 7 6 5 4 3 2 2 2 3 4 5 6 7 7 6 5 4 3 3 3 3 3 4 5 6 7 7 6 5 4 4 4 4 4 4 4 5 6 7 7 6 5 5 5 5 5 5 5 5 5 6 7 7 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7
在上面的程式碼中,我們使用巢狀 for 迴圈以及 stride() 函式。最外面的 for 迴圈(從 1 到 patternSize+1)用於處理要列印的行總數,並且每一行都以換行符開頭。巢狀的 for 迴圈用於使用 stride() 函式列印數字螺旋圖案 -
for y in stride(from:1, to:patternSize+1, by: 1){ print(max(abs(x-number), abs(y-number)) + 1, terminator: " ") }
這裡的迭代從 1 開始到 patternSize,每次迭代增加 1,並以螺旋圖案列印從 1 到 7 的數字。