Swift程式設計列印字母實心正方形圖案


本教程將討論如何編寫Swift程式來列印字母實心正方形圖案。

字母圖案是由從A到Z的字母序列組成,用於開發不同的圖案或形狀,例如字母金字塔、矩形、十字架等。

要建立字母實心正方形圖案,我們可以使用以下任何一種方法:

  • 使用巢狀for迴圈

  • 使用init()函式

  • 使用stride函式

以下是演示:

輸入

假設我們的給定輸入是:

Length = A to D

輸出

期望輸出為:

A B C D 
A B C D 
A B C D 
A B C D

方法1 - 使用巢狀for迴圈

我們可以使用巢狀for迴圈建立字母實心正方形圖案或任何其他圖案。這裡每個for迴圈處理不同的任務,例如最外層的for迴圈用於新行,巢狀的for迴圈用於在列中列印從A到Z的字母。

示例

以下程式演示瞭如何使用巢狀for迴圈列印字母實心正方形圖案。

import Foundation 
import Glibc

// Finding ASCII value of letters 
// Here A is the initial letter and G is the end letter 
var N1 = Unicode.Scalar("A").value 
var N2 = Unicode.Scalar("G").value

// Handle the length of pattern 
for _ in 1...5 {
   // Printing alphabetic solid square pattern 
   for x in N1...N2 {
      print(UnicodeScalar(x)!, terminator : " ") 
   }
   
   // New line after each row 
   print(" ") 
}

輸出

A B C D E F G  
A B C D E F G  
A B C D E F G  
A B C D E F G  
A B C D E F G 

在上面的程式碼中,我們列印從A到G的字母實心正方形圖案。為了列印圖案,我們首先使用以下程式碼查詢上下限的ASCII值:

var N1 = Unicode.Scalar(“A").value // A = 65 
var N2 = Unicode.Scalar(“G").value // G = 71

現在我們使用巢狀for迴圈。最外層的for迴圈(從1到5)用於處理要列印的行數,每一行都以換行符開頭。現在巢狀的for迴圈(從65到71)用於列印實心正方形圖案中的字母。

方法2 - 使用init()函式

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

語法

以下是語法:

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

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

示例

以下程式演示瞭如何使用String.init()函式列印字母實心正方形圖案。

import Foundation 
import Glibc

// Size of the alphabetic solid square pattern 
let num = 5

// Handle the length of the pattern 
for _ in 1...num{
   // Printing alphabetic solid square pattern 
   print(String.init(repeating:"AB", count:num)) 
}

輸出

ABABABABAB
ABABABABAB
ABABABABAB
ABABABABAB
ABABABABAB

在上面的程式碼中,我們使用String.init()函式建立長度為5的字母實心正方形圖案。我們使用for迴圈(從1到num),用於列印每一行。在這個迴圈中,我們使用String.init()函式。此函式根據count值(即num)列印“ABC”。

print(String.init(repeating:"ABC", count:num))

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

num = 5 
In 1st iteration: 
print(String.init(repeating: "ABC”, count: 5)) 
So it print 5 “ABC” 
In 2nd iteration: 
print(String.init(repeating: "*”, count: 5)) 
So it print 5 “ABCABC”
... so on till 5th iteration and print alphabetic solid square pattern

方法3 - 使用stride函式

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

語法

以下是語法:

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

這裡:

from - 表示要用於給定序列的起始值。

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

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

示例

以下程式演示瞭如何使用stride()函式列印字母實心正方形圖案。

import Foundation 
import Glibc

// Finding the ASCII value of the alphabets 
var N1 = Unicode.Scalar("A").value 
var N2 = Unicode.Scalar("D").value

// Handle the length of pattern 
for _ in 1...4 { 
   // Printing alphabetic solid square pattern 
   // Using stride() function 
   for j in stride(from: N1, to: N2+1, by: 1) {       
      print(UnicodeScalar(j)!, terminator:" ")
   }
   print("")
}

輸出

A B C D 
A B C D 
A B C D 
A B C D 

在上面的程式碼中,我們列印從A到D的字母實心正方形圖案。為了列印圖案,我們首先使用以下程式碼查詢上下限的ASCII值:

var N1 = Unicode.Scalar(“A").value // A = 65 
var N2 = Unicode.Scalar(“D").value // D = 68

現在我們使用巢狀for迴圈以及stride()函式。最外層的for迴圈(從1到4)用於處理要列印的行數,每一行都以換行符開頭。巢狀的for迴圈用於使用stride()函式列印字母實心正方形圖案:

for j in stride(from: N1, to: N2+1, by: 1) {    
   print(UnicodeScalar(j)!, terminator:" ") 
}

這裡的迭代從N1到N2+1開始,每次迭代增加1,並列印從A到D的正方形圖案。

更新於:2022年11月30日

瀏覽量:176

開啟你的職業生涯

完成課程獲得認證

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