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的正方形圖案。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP