Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การใช้ Set() ใน Python Pangram Checking


ในบทความนี้ เราจะเรียนรู้วิธีตรวจสอบว่าสตริงเป็น “pangram” หรือไม่ใน 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

ตามคำจำกัดความ pangram ที่สมบูรณ์แบบจะรวมตัวอักษรทุกตัวของ '26 ตัวอักษรภาษาอังกฤษ' ไว้เพียงครั้งเดียว บทช่วยสอนนี้ไม่มีแนวคิดเรื่อง 'Perfect Pangram'

ตอนนี้ มาดูคำชี้แจงปัญหาและชุดข้อจำกัดกัน

คำชี้แจงปัญหา − ให้สตริงตรวจสอบว่าเป็น Pangram หรือไม่

ข้อจำกัด

  1. ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ถือเป็นสิ่งเดียวกัน
  2. ไม่มีการบังคับกรณี 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() ความเข้าใจ

ข้อกำหนดเบื้องต้น

การทำงานของสตริงและสตริง

ให้เราดำเนินการตามอัลกอริทึมที่เรากำลังใช้ในปัญหานี้อย่างรวดเร็ว -

  1. งานแรกของเราคือการแปลงสตริงอินพุตทั้งหมดเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ ที่นี่ฉันกำลังใช้การแปลงตัวพิมพ์ใหญ่โดยใช้ ตัวพิมพ์ใหญ่() เมธอดของประเภทข้อมูล “สตริง” ใน Python 3.x หรือก่อนหน้านั้น

  2. ด้วยความช่วยเหลือของ (str_input) ฟังก์ชัน เราสามารถสร้างรายการองค์ประกอบที่แตกต่างกันทั้งหมดที่มีอยู่ในสตริงอินพุตได้

  3. ตอนนี้เราจะสร้างรายการใหม่ “dist_list” ซึ่งมีตัวอักษรที่แตกต่างกันทั้งหมดโดยไม่มีตัวเลขหรืออักขระพิเศษใดๆ

  4. ตอนนี้ตรวจสอบว่าความยาวของ 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)

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีค้นหาว่าสตริงเป็น Pangram หรือไม่โดยใช้ Python 3.x หรือก่อนหน้านี้ คุณสามารถใช้อัลกอริธึมเดียวกันเพื่อสร้างโปรแกรมตรวจจับ pangram ในภาษาการเขียนโปรแกรมอื่นๆ ได้