Computer >> Máy Tính >  >> Lập trình >> Python

Sử dụng Set () trong Kiểm tra Pangram Python


Trong bài viết này, chúng ta sẽ học cách xác định xem một chuỗi có phải là "pangram" hay không trong Python 3.x. Hoặc sớm hơn. Một chuỗi pangram chứa mọi chữ cái trong danh sách các bảng chữ cái tiếng Anh. Hãy cùng chúng tôi xem hình minh họa bên dưới -

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

Theo định nghĩa, một pangram hoàn hảo bao gồm mọi chữ cái trong ‘26 bảng chữ cái tiếng Anh’ đúng một lần. Hướng dẫn này không bao gồm khái niệm về 'pangram hoàn hảo'.

Bây giờ, hãy xem xét tuyên bố vấn đề và tập hợp các ràng buộc.

Tuyên bố sự cố - Đưa ra một chuỗi kiểm tra xem nó có phải là Pangram hay không.

Ràng buộc

  1. Chữ thường và chữ hoa được coi là giống nhau.
  2. Không có sự ép buộc nào đối với trường hợp Pangram hoàn hảo như đã thảo luận ở trên.
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'.

Cấu trúc dữ liệu có liên quan

Đặt () &Liệt kê () Tổng hợp

Điều kiện tiên quyết

Chuỗi &Hoạt động Chuỗi

Hãy để chúng tôi xem nhanh thuật toán mà chúng tôi đang triển khai trong vấn đề này -

  1. Nhiệm vụ đầu tiên của chúng tôi là chuyển đổi chuỗi đầu vào hoàn chỉnh thành chữ thường hoặc chữ hoa. Ở đây tôi đang sử dụng chuyển đổi chữ hoa bằng cách sử dụng upper () phương thức của kiểu dữ liệu “chuỗi” trong Python 3.x. Hoặc sớm hơn.

  2. Bây giờ với sự trợ giúp của (str_input) , chúng ta có thể tạo danh sách tất cả các phần tử riêng biệt có trong chuỗi đầu vào.

  3. Bây giờ chúng tôi sẽ tạo một danh sách mới “dist_list” chứa tất cả các bảng chữ cái riêng biệt mà không có bất kỳ số hoặc ký tự đặc biệt nào.

  4. Bây giờ, hãy kiểm tra xem độ dài của dist_list là 26 hoặc không. Nếu điều kiện đúng, đầu vào là Pangram, ngược lại thì không.

Ví dụ

# 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)

Kết luận

Trong bài viết này, chúng ta đã học cách tìm ra một chuỗi có phải là Pangram hay không bằng cách sử dụng Python 3.x. Hoặc sớm hơn. Bạn có thể triển khai cùng một thuật toán để tạo chương trình phát hiện pangram bằng bất kỳ ngôn ngữ lập trình nào khác.