Swift程序 检查字符串是否为Pangram

Swift程序 检查字符串是否为Pangram

Pangram字符串是一个包含所有英文字母的字符串。例如 –

字符串 = “快速的棕色狐狸跳过懒惰的狗”

这里的字符串是一个pangram字符串,其中包含了从a到z的所有字母。

字符串 = ” Hello!Swati你好吗?”

这里的字符串不是一个泛语法字符串,因为它不包含从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:使用集合

我们还可以使用集合来检查给定的字符串是否是泛语法。

算法

  • 第1步 – 创建一个函数。

  • 第2步 – 创建一个包含所有字母的字符类型集。

  • 3步 – 使用lowercased()函数将给定的字符串转换成小写字母,然后将结果转换成集合。

  • 第4步 – 如果小写字母集是字母集的超级集合,返回true。否则返回false。

  • 第5步 – 创建两个测试字符串并将其传入函数。

  • 6步 – 打印输出。

例子

以下是检查字符串是否为泛语法的Swift程序

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,意味着小写字母集中缺少一些字母。

总结

在这篇文章中,我们已经了解了两种不同的方法,可以用来检查字符串是否是泛语法。在第一种方法中,我们使用了一个外部用户定义的函数,而在第二种方法中,我们在主函数中使用了A到Z字母集。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Swift 教程