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 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.