이 기사에서는 문자열이 Python 3.x에서 "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
정의에 따르면 완벽한 팬그램에는 '26개의 영어 알파벳'의 모든 문자가 정확히 한 번 포함됩니다. 이 튜토리얼에는 '완벽한 팬그램'의 개념이 포함되어 있지 않습니다.
이제 문제 설명과 제약 조건 집합을 살펴보겠습니다.
문제 설명 − 문자열이 주어지면 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() &List() 이해
전제조건
문자열 및 문자열 연산
이 문제에서 구현하고 있는 알고리즘을 빠르게 살펴보겠습니다. −
-
첫 번째 작업은 전체 입력 문자열을 소문자 또는 대문자로 변환하는 것입니다. 여기서는 upper()를 사용하여 대문자 변환을 사용하고 있습니다. "문자열" 데이터 유형 메서드 파이썬 3.x에서 또는 그 이전.
-
이제 (str_input)의 도움으로 함수를 사용하면 입력 문자열에 있는 모든 고유한 요소의 목록을 만들 수 있습니다.
-
이제 새 목록을 “dist_list” 만들 것입니다. 숫자나 특수 문자 없이 모든 고유한 알파벳을 포함합니다.
-
이제 dist_list 길이가 26인지 아닌지. 조건이 참이면 입력이 팬그램이고 그렇지 않으면 그렇지 않습니다.
예
# 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인지 여부를 파악하는 방법을 배웠습니다. 또는 더 일찍. 동일한 알고리즘을 구현하여 다른 프로그래밍 언어로 팬그램 감지기 프로그램을 만들 수 있습니다.