Swift 程式檢查字串是否為 pangram


Pangram 字串是指包含所有英文字母的字串。例如 -

字串 = “The quick brown fox jumps over the lazy dog”

此字串是一個 pangram 字串,其中包含從 a 到 z 的所有字母字元。

字串 = “ Hello! Swati how are you?”

此字串不是 pangram 字串,因為它不包含從 a 到 z 的所有 26 個字母字元。

在本文中,我們將學習如何編寫一個 Swift 程式來檢查字串是否為 pangram。

因此,要檢查字串是否為 pangram,我們使用以下方法 -

  • 使用使用者自定義函式

  • 使用集合

方法 1 - 使用使用者自定義函式

在這種方法中,我們建立一個函式,在其中我們將所有 26 個字母新增到一個字串中,然後檢查給定的字串是否包含所有 26 個字母。如果是,則給定的字串是 pangram。否則,不是。

演算法

  • 步驟 1 - 建立一個函式。

  • 步驟 2 - 將給定的字串轉換為小寫。

  • 步驟 3 - 建立一個變數,該變數將所有字母儲存在一個字串中。

  • 步驟 4 - 設定 count = 0。

  • 步驟 5 - 執行一個 for 迴圈以遍歷字母字串的每個字元。

  • 步驟 6 - 使用 contains() 函式檢查給定的小寫字串是否包含指定的字母。

  • 步驟 7 - 如果給定的小寫字串包含所有字母,則返回 true。否則返回 false。

  • 步驟 8 - 建立兩個測試字串並將它們傳遞給函式。

  • 步驟 9 - 列印輸出。

示例

以下 Swift 程式檢查字串是否為 pangram。

import Foundation
import Glibc

// Function to check if the given string is pangram or not
func CheckPangram(str: String) -> Bool {
   let lowercaseString = str.lowercased()
   let alphabet = "abcdefghijklmnopqrstuvwxyz" 
   for l in alphabet {
      if !lowercaseString.contains(l) {
         return false
      }
   }
   return true
}

// Test case 1
let str1 = "The quick brown fox jumps over the lazy dog"
print("Is string- '\(str1)' is pangram?:", CheckPangram(str: str1))

// Test case 2
let str2 = "my car color is red"
print("Is string- '\(str2)' is pangram?:", CheckPangram(str: str2))

輸出

Is string- 'The quick brown fox jumps over the lazy dog' is pangram?: true
Is string- 'my car color is red' is pangram?: false

在上面的程式碼中,我們有兩個輸入字串。現在,我們建立一個名為 CheckPangram() 的函式來檢查給定的字串是否為 pangram。在此函式中,我們首先使用 lowercased() 函式將給定的字串轉換為小寫。然後建立一個包含所有 26 個字母的字串。現在執行一個 for 迴圈以遍歷字母字串的每個字元,並使用 contains() 函式檢查該字元是否出現在給定字串中。如果任何字元丟失,則它將返回 false。如果所有字元都存在,則它將返回 true。

方法 2 - 使用集合

我們還可以使用集合來檢查給定的字串是否為 pangram。

演算法

  • 步驟 1 - 建立一個函式。

  • 步驟 2 - 建立一個字元型別的集合,其中包含所有字母。

  • 步驟 3 - 使用 lowercased() 函式將給定的字串轉換為小寫,然後將其轉換為集合。

  • 步驟 4 - 如果小寫集合是字母集合的超集,則返回 true。否則返回 false。

  • 步驟 5 - 建立兩個測試字串並將它們傳遞給函式。

  • 步驟 6 - 列印輸出。

示例

以下 Swift 程式檢查字串是否為 pangram

import Foundation
import Glibc

// Function to check if the given string is pangram or not
func CheckPangram(str: String) -> Bool {
   let alphabet: Set<Character> = Set("abcdefghijklmnopqrstuvwxyz")
   let lowercased = Set(str.lowercased())
   return lowercased.isSuperset(of: alphabet)
}

// Test case 1
let str1 = "The quick brown fox jumps over the lazy dog"
print("Is string- '\(str1)' is pangram?:", CheckPangram(str: str1))

// Test case 2
let str2 = "I cook delicious food"
print("Is string- '\(str2)' is pangram?:", CheckPangram(str: str2))

輸出

Is string- 'The quick brown fox jumps over the lazy dog' is pangram?: true
Is string- 'I cook delicious food' is pangram?: false

在上面的程式碼中,我們有兩個測試字串。現在,我們建立一個名為 CheckPangram() 的函式來檢查給定的字串是否為 pangram。在此函式中,我們首先建立一個包含從 a 到 z 的所有字母的字元集合。然後,我們使用 lowercased() 函式將給定的測試字串轉換為小寫,然後將其轉換為集合。現在,如果小寫集合是字母集合的超集,即小寫集合包含所有字母,則返回 true。如果小寫集合不是字母集合的超集,即小寫集合中缺少某些字母,則返回 false。

結論

在本文中,我們學習了兩種不同的方法,可用於檢查字串是否為 pangram。在第一種方法中,我們使用了外部使用者定義函式,而在第二種方法中,我們在主函式本身中使用了 A 到 Z 字母集合。

更新於: 2023 年 2 月 8 日

503 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告