Swift程式列印空心矩形星型圖案
本教程將討論如何編寫Swift程式來列印空心矩形星型圖案。
星型圖案是由“*”組成的序列,用於開發不同的圖案或形狀,例如金字塔、矩形、十字架等。這些星型圖案通常用於理解或練習程式流程控制,它們也有助於邏輯思維訓練。
要建立空心矩形星型圖案,我們可以使用以下任何一種方法:
- 使用巢狀for迴圈
- 使用stride函式
以下是演示:
輸入
假設我們的給定輸入是:
Length = 10 Width = 6
輸出
期望的輸出是:
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
方法1 - 使用巢狀for迴圈
我們可以使用巢狀for迴圈建立空心矩形星型圖案或任何其他圖案。這裡每個for迴圈處理不同的任務,例如最外層的for迴圈用於新行,而巢狀的for迴圈用於在列中列印“*”。
示例
下面的程式演示瞭如何使用巢狀for迴圈列印空心矩形星型圖案。
import Foundation import Glibc // Length and width of the rectangle var Rlen = 10 var Rwid = 6 // Handle the rows for x in 1..<Rwid+1{ // Handle Columns for y in 1..<Rlen+1{ // Here print star for first or last row // or for first or last column, // otherwise print blank space if (x==1 || x==Rwid || y==1 || y == Rlen){ print("*", terminator:" ") } else{ print(" ", terminator:" ") } } print("") }
輸出
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
在上面的程式碼中,我們有length = 10和width = 6。現在我們使用巢狀for迴圈來列印空心矩形星型圖案。最外層的for迴圈(從1到6)用於處理要列印的行數,每行以換行符開頭。巢狀的for迴圈(從1到10)用於列印第一行或最後一行或第一列或最後一列的“*”,否則列印空格。
方法2 - 使用stride函式
Swift提供一個名為stride()的內建函式。stride()函式用於以遞增或遞減的方式從一個值移動到另一個值。或者我們可以說stride()函式返回從起始值開始的序列,但不包括結束值,並且給定序列中的每個值都以給定量步進。
語法
以下是語法:
stride(from:startValue, to: endValue, by:count)
這裡:
from - 表示給定序列使用的起始值。
to - 表示限制給定序列的結束值
by - 表示每次迭代的步進量,正值表示向上迭代或遞增,負值表示向下迭代或遞減。
示例
下面的程式演示瞭如何使用stride()函式列印空心矩形星型圖案。
import Foundation import Glibc // Length and width of the rectangle var Rlen = 9 var Rwid = 5 // Handle the rows for x in stride(from:1, to:Rwid+1, by: 1){ // Handle Columns for y in stride(from:1, to:Rlen+1, by: 1){ // Here print star for first or last row // or for first or last column, // otherwise print blank space if (x==1 || x==Rwid || y==1 || y == Rlen){ print("*", terminator:" ") } else{ print(" ", terminator:" ") } } print("") }
輸出
* * * * * * * * * * * * * * * * * * * * * * * *
在上面的程式碼中,我們有length = 9和width = 5。現在我們使用巢狀for迴圈。最外層的for迴圈(從1到9)使用stride()用於處理要列印的行數,每行以換行符開頭。巢狀的for迴圈用於使用stride()函式列印空心矩形星型圖案:
for y in stride(from:1, to:Rlen+1, by: 1){ if (x==1 || x==Rwid || y==1 || y == Rlen){ print("*", terminator:" ") } else{ print(" ", terminator:" ") } }
這裡的迭代從1到Rlen+1開始,每次迭代增加1。在這個迴圈中,我們對第一行或最後一行或第一列或最後一列列印星號,否則列印空格。這就是我們列印空心矩形星型圖案的方法。