Swift程式設計列印左三角星形圖案


本教程將討論如何編寫Swift程式來列印左三角星形圖案。

星形圖案是由“*”組成的序列,用於開發不同的圖案或形狀,例如金字塔、矩形、十字形等。這些星形圖案通常用於理解或練習程式流程控制,它們也有利於邏輯思維。

要建立左三角星形圖案,我們可以使用以下任何方法:

  • 使用巢狀for迴圈

  • 使用init()函式

  • 使用stride函式

以下是演示:

輸入

假設我們的給定輸入是:

Num = 10

輸出

期望輸出:

*
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 
* * * * * * * * * 
* * * * * * * * * *

方法1 - 使用巢狀for迴圈

我們可以使用巢狀for迴圈建立左三角星形圖案或任何其他圖案。這裡每個for迴圈處理不同的任務,例如最外層的for迴圈用於新行,巢狀的for迴圈用於在列中列印“*”。

示例

以下程式展示瞭如何使用巢狀for迴圈列印左三角星形圖案。

import Foundation import Glibc // Size of the left triangle star pattern let num = 9 // Handle the length of pattern for x in 1...num{ // Printing left triangle star pattern for _ in 1...x{ print("*", terminator : " ") } // New line after each row print(" ") }

輸出

*  
* *  
* * *  
* * * *  
* * * * *  
* * * * * *  
* * * * * * *  
* * * * * * * *  
* * * * * * * * * 

在上面的程式碼中,我們使用巢狀for迴圈列印左三角星形圖案。最外層的for迴圈(從1到9)用於處理要列印的行數,並且每一行都以換行符開頭。現在,巢狀的for迴圈(從1到i)用於在直角三角形圖案中列印“*”,或者可以說它用於處理圖案中的列數。

方法2 - 使用init()函式

Swift提供一個名為String.init()的內建函式。使用此函式,我們可以建立任何圖案。String.init()函式建立一個字串,其中給定字元重複指定的次數。

語法

以下是語法:

String.init(repeating:Character, count: Int)

這裡,repeating代表此方法重複的字元,count代表給定字元在結果字串中重複的總次數。

示例

以下程式展示瞭如何使用String.init()函式列印左三角星形圖案。

import Foundation import Glibc // Size of the left triangle star pattern let num = 4 // Handle the length of pattern for i in 1...num{ // Printing left triangle star pattern print(String.init(repeating:"*", count:i)) }

輸出

*
**
***
****

在上面的程式碼中,我們使用String.init()函式建立長度為4的左三角星形圖案。我們使用for迴圈(從1到num),用於列印每一行。在這個迴圈中,我們使用String.init()函式。此函式根據count值(即i)列印“*”:

print(String.init(repeating:"*", count:i))

因此,上面程式碼的工作原理是:

num = 6

在第一次迭代中:i = 1

print(String.init(repeating: "*”, count: 1))

所以它列印1個“*”

在第二次迭代中:i = 2

print(String.init(repeating: "*”, count: 2))

所以它列印2個“*”

……以此類推,直到第四次迭代,列印左三角星形圖案。

方法3 - 使用stride函式

Swift提供一個名為stride()的內建函式。stride()函式用於以增量或減量從一個值移動到另一個值。或者可以說stride()函式返回從起始值開始的序列,但不包括結束值,並且給定序列中的每個值都以給定量遞增。

語法

以下是語法:

stride(from:startValue, to: endValue, by:count)

這裡:

from - 代表給定序列使用的起始值。

to - 代表限制給定序列的結束值

by - 代表每次迭代的步進量,正值代表向上迭代或增量,負值代表向下迭代或減量。

示例

以下程式展示瞭如何使用stride()函式列印左三角星形圖案。

import Foundation import Glibc // Size of the left triangle star pattern let num = 13 // Handle the length of pattern for i in 1...num { // Printing left triangle star pattern // Using stride() function for _ in stride(from: 1, to: i, by: 1) { print("*", terminator:" ") } print("") }

輸出

* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 
* * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * * 
* * * * * * * * * * * *   

在上面的程式碼中,我們使用巢狀for迴圈以及stride()函式。最外層的for迴圈(從1到num)用於處理要列印的行數,並且每一行都以換行符開頭。巢狀的for迴圈用於使用stride()函式列印左三角星形圖案:

for _ in stride(from: 1, to: i, by: 1) {
   print("*", terminator:" ") 
}

這裡的迭代從1到i開始,每次迭代增加1,並在左三角形圖案中列印“*”。

更新於:2022年11月3日

瀏覽量:358

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.