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 字母集合。