สมมติว่าเรามีสตริงที่แสดงถึงตัวระบุ เราต้องตรวจสอบว่าถูกต้องหรือไม่ มีเกณฑ์ไม่กี่อย่างที่เราตัดสินได้ว่ามันถูกต้องหรือไม่
- ต้องขึ้นต้นด้วยขีดล่าง '_' หรืออักษรตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก
- ไม่มีช่องว่าง
- อักขระที่ตามมาทั้งหมดหลังจากตัวแรกต้องไม่ประกอบด้วยอักขระพิเศษใดๆ เช่น $, #, % เป็นต้น
หากทั้งสามข้อนี้ถูกต้อง แสดงว่ามีเพียงสตริงเท่านั้นที่เป็นตัวระบุที่ถูกต้อง
ดังนั้น หากอินพุตเป็นเหมือน id ="_hello_56" ผลลัพธ์จะเป็น True
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้าอักขระตัวแรกใน s ไม่ใช่ตัวอักษรและไม่ได้ขีดล่าง ดังนั้น
- คืนค่าเท็จ
- สำหรับแต่ละอักขระ ch ใน s[จากดัชนี 1 ถึงปลาย] ทำ
- ถ้า ch ไม่ใช่ตัวอักษรและตัวเลขและ ch ไม่ได้ขีดล่าง ดังนั้น
- คืนค่าเท็จ
- ถ้า ch ไม่ใช่ตัวอักษรและตัวเลขและ ch ไม่ได้ขีดล่าง ดังนั้น
- คืนค่า True
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
โค้ดตัวอย่าง
def solve(s): if not s[0].isalpha() and s[0] != '_': return False for ch in s[1:]: if not ch.isalnum() and ch != '_': return False return True id = "_hello_56" print(solve(id))
อินพุต
"_hello_56"
ผลลัพธ์
True