Python 中使用 Set() 進行 Pangram 檢查
在本文中,我們將學習如何在 Python 3.x 或更早版本中確定一個字串是否為“Pangram”。Pangram 字串包含英語字母表中的每個字母。讓我們看看下面的示例 -
Provided Input: str = 'This is the python blog on Tutorial point' Desired Output: No Provided Input : str='I want to contribute to a 'dxyzwuvghlkfmq' open source project' Desired Output: Yes
根據定義,一個完美的 Pangram 包含英語字母表中的每個字母恰好一次。本教程不包含“完美 Pangram”的概念。
現在讓我們看看問題陳述和約束條件。
問題陳述 - 給定一個字串,檢查它是否為 Pangram。
約束條件
- 小寫和大寫字母被視為相同。
- 如上所述,對完美 Pangram 的情況沒有強制要求。
Input: First line of input contains the test string ‘str_input ’ Output: Print 'String is a Pangram' if conditions evaluate to be true, otherwise it displays 'String is not a Pangram'.
相關資料結構
Set() & 列表推導式
先決條件
字串 & 字串操作
讓我們快速瀏覽一下我們在此問題中實現的演算法 -
我們的第一個任務是將整個輸入字串轉換為小寫或大寫。在這裡,我使用 Python 3.x 或更早版本中資料型別“字串”的 **upper()** 方法進行大寫轉換。
現在,藉助 **(str_input)** 函式,我們可以建立一個包含輸入字串中所有不同元素的列表。
現在,我們將建立一個新列表 **“dist_list”**,其中包含所有不同的字母,不包含任何數字或特殊字元。
現在檢查 **dist_list** 的長度是否為 26。如果條件成立,則輸入為 Pangram,否則不是。
示例
# user-defined function to check Pangram
def check_pangram(input):
# convert input string into uppercase
str_input = str_input.upper()
# convert input string into Set()
# a list of distinct elements will be formed.
str_input = set(str_input)
# separate out alphabets from numbers and special characters
# ord(ch) returns the ASCII value of the character
dist_list = [ char for char in str_input if ord(char) in range(ord('a'), ord('z')+1)]
if len(dist_list) == 26:
return 'String is a Pangram'
else:
return 'String is not a Pangram'
# Executable main function
if __name__ == "__main__":
str_input = input()
print check_pangram(str_input)結論
在本文中,我們學習瞭如何使用 Python 3.x 或更早版本來確定一個字串是否為 Pangram。您可以使用相同的演算法在任何其他程式語言中建立 Pangram 檢測程式。
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP