ในบทความนี้ เราจะเรียนรู้วิธีตรวจสอบว่าสตริงเป็น “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 หรือไม่
ข้อจำกัด
- ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ถือเป็นสิ่งเดียวกัน
- ไม่มีการบังคับกรณี 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() ความเข้าใจ
ข้อกำหนดเบื้องต้น
การทำงานของสตริงและสตริง
ให้เราดำเนินการตามอัลกอริทึมที่เรากำลังใช้ในปัญหานี้อย่างรวดเร็ว -
-
งานแรกของเราคือการแปลงสตริงอินพุตทั้งหมดเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ ที่นี่ฉันกำลังใช้การแปลงตัวพิมพ์ใหญ่โดยใช้ ตัวพิมพ์ใหญ่() เมธอดของประเภทข้อมูล “สตริง” ใน Python 3.x หรือก่อนหน้านั้น
-
ด้วยความช่วยเหลือของ (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)
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีค้นหาว่าสตริงเป็น Pangram หรือไม่โดยใช้ Python 3.x หรือก่อนหน้านี้ คุณสามารถใช้อัลกอริธึมเดียวกันเพื่อสร้างโปรแกรมตรวจจับ pangram ในภาษาการเขียนโปรแกรมอื่นๆ ได้