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

ตรวจสอบว่า String เป็น Pangram หรือไม่ใน Python

ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมตรวจสอบว่าสตริงเป็น Pangram หรือไม่

Pangram คืออะไร?

Pangram คือสตริงที่มีตัวอักษรภาษาอังกฤษครบทุกตัว (A-Z หรือ a-z) อย่างน้อย 1 ครั้ง เช่น "The quick brown fox jumps over the lazy dog"

วิธีที่ 1: ใช้ Loop ตรวจสอบทุกตัวอักษร

อัลกอริทึม

1. import string module
2. alphabets = string.ascii_lowercase (มี a-z ครบ)
3. กำหนดสตริงที่ต้องตรวจสอบ
4. ฟังก์ชัน is_pangram(string, alphabets):
   4.1 วนลูปทุกตัวอักษรใน alphabets
   4.2 ถ้าตัวอักษรไม่อยู่ใน string.lower() → return False
   4.3 จบลูป → return True
5. พิมพ์ Panagram หรือ Not Panagram

โค้ดตัวอย่าง

import string

def is_pangram(string, alphabets):
    for char in alphabets:
        if char not in string.lower():
            return False
    return True

alphabets = string.ascii_lowercase

string_one = "The Quick Brown Fox Jumps Over The Lazy Dog"
string_two = "TutorialsPoint TutorialsPoint"

print("Panagram" if is_pangram(string_one, alphabets) else "Not Panagram")
print("Panagram" if is_pangram(string_two, alphabets) else "Not Panagram")

ผลลัพธ์

Panagram
Not Panagram

วิธีที่ 2: ใช้ Set (สั้นและ Pythonic)

อัลกอริทึม

1. import string
2. alphabets = string.ascii_lowercase
3. แปลงทั้งสองเป็น set
4. ถ้า set(string.lower()) >= set(alphabets) → Panagram

โค้ดตัวอย่าง

import string

alphabets = string.ascii_lowercase

string_one = "The Quick Brown Fox Jumps Over The Lazy Dog"
string_two = "TutorialsPoint TutorialsPoint"

print("Panagram" if set(string_one.lower()) >= set(alphabets) else "Not Panagram")
print("Panagram" if set(string_two.lower()) >= set(alphabets) else "Not Panagram")

ผลลัพธ์

Panagram
Not Panagram

สรุป

วิธี Set ใช้ >= (superset) ตรวจสอบว่าสตริงมีตัวอักษรครบกว่า alphabets หรือไม่ สั้น กระชับ และเร็วกว่า หากมีข้อสงสัย สามารถถามได้ในส่วนความคิดเห็น