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

ตรวจสอบว่าสระใน String เรียงตามลำดับอักษรหรือไม่ด้วย Python

โจทย์: กำหนด String s ตรวจสอบว่าสระ (Vowels) ใน s เรียงตามลำดับอักษร (Alphabetical Order) หรือไม่

ตัวอย่าง

s = "helloyou" → True (สระ: e, o, o, u เรียงตามลำดับ)

อัลกอริทึม

  1. ตัวแปร character = ตัวอักษร ASCII 64 ('@' ก่อน 'A')
  2. วนลูปทุกตัวอักษรใน s:
    • ถ้าเป็นสระ (A,E,I,O,U,a,e,i,o,u):
      • ถ้า ตัวอักษรปัจจุบัน < character → False
      • มิฉะนั้น character = ตัวอักษรปัจจุบัน
  3. จบลูป → True

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

def solve(s):
    character = chr(64)  # '@'
    for i in range(len(s)):
        if s[i] in ['A','E','I','O','U','a','e','i','o','u']:
            if s[i] < character:
                return False
            else:
                character = s[i]
    return True

s = "helloyou"
print(solve(s))

Input / Output

Input: "helloyou"
Output: True