เทคนิค Characters, ord และ chr
แปลงตัวอักษรเป็นตัวเลขและแปลงกลับ
เทคนิค Characters, ord และ chr เป็นบทเรียน Competitive Programming Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Competitive Programming Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Competitive Programming Academy มีบทเรียนทั้งหมด 4 บทเรียน
ตัวอักษรคือตัวเลข
อักขระทุกตัวที่โปรแกรมอ่านจะถูกจัดเก็บเป็นตัวเลขอยู่เบื้องหลัง การรู้จักจุดรหัสช่วยให้คุณคำนวณกับตัวอักษรได้ 🔢
ทำความรู้จัก ord()
ฟังก์ชัน ord() จะแปลงอักขระหนึ่งตัวเป็นจุดรหัสจำนวนเต็ม นี่คือสะพานเชื่อมจากตัวอักษรไปสู่การคำนวณ
print(ord('A')) # 65
print(ord('a')) # 97ทำความรู้จัก chr()
ฟังก์ชัน chr() ทำงานย้อนกลับ โดยรับตัวเลขแล้วคืนอักขระที่ตรงกัน ทั้งสองฟังก์ชันจึงทำงานร่วมกันเป็นกระบวนการไปกลับที่ชัดเจน
print(chr(65)) # 'A'
print(chr(97)) # 'a'ตัวอักษรเรียงต่อเนื่องกัน
เคล็ดลับสำคัญคือ a ถึง z มีจุดรหัสเรียงต่อเนื่องกัน เช่นเดียวกับ A ถึง Z นั่นหมายความว่าคุณสามารถหาดัชนีตัวอักษรด้วยการลบอย่างง่าย
จับคู่ตัวอักษรกับ 0-25
ลบตัวอักษรฐานเพื่อให้ได้ดัชนีที่เริ่มที่ 0อย่างเป็นระเบียบ วิธีนี้ช่วยเปลี่ยนตัวอักษรให้เป็นช่องในอาร์เรย์สำหรับนับจำนวน
idx = ord('c') - ord('a')
print(idx) # 2แปลงดัชนีกลับเป็นตัวอักษร
ในทางกลับกัน ให้บวกดัชนีกับค่าฐานแล้วเรียกใช้ chr() ตอนนี้ช่อง 0 จะกลายเป็น 'a' และช่อง 25 จะกลายเป็น 'z'
ch = chr(ord('a') + 2)
print(ch) # 'c'เลื่อนตัวอักษร (ซีซาร์)
หากต้องการเลื่อนตัวอักษรไปข้างหน้า ให้บวกจำนวนที่ต้องการแล้ววนกลับด้วยโมดูลัส 26 นี่คือหัวใจของปัญหารหัสลับแบบซีซาร์
shifted = chr((ord('y') - ord('a') + 3) % 26 + ord('a'))
print(shifted) # 'b'ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กต่างกัน 32
จากการจัดวางรหัส ตัวพิมพ์ใหญ่แต่ละตัวจะอยู่ต่ำกว่าตัวพิมพ์เล็กที่คู่กันพอดี 32 คุณจึงสามารถเปลี่ยนรูปแบบตัวพิมพ์ด้วยการคำนวณล้วน ๆ ได้เมื่อจำเป็น
print(ord('a') - ord('A')) # 32ตัวเลขก็เป็นอักขระเช่นกัน
อักขระ '7' ไม่ใช่เลข 7 ให้ลบord('0') เพื่อแปลงอักขระตัวเลขให้เป็นค่าตัวเลขจริง
d = ord('7') - ord('0')
print(d) # 7ตรวจสอบตัวอักษรอย่างรวดเร็ว
สำหรับการตรวจสอบว่าใช่หรือไม่ เมธอดอย่าง isalpha() และ isdigit() อ่านเข้าใจง่ายกว่าการเปรียบเทียบจุดรหัสด้วยตนเอง
print('x'.isalpha()) # True
print('5'.isdigit()) # Trueเหตุใดจึงสำคัญใน CP
การจับคู่ตัวอักษรกับดัชนีทำให้คุณใช้อาร์เรย์ขนาดเล็กเพียง 26 ช่องแทนพจนานุกรมได้ ซึ่งเร็วกว่าและเป็นเทคนิคพื้นฐานของปัญหาเกี่ยวกับสตริง
ตรวจสอบอย่างรวดเร็ว
คำถามสั้น ๆ เกี่ยวกับการคำนวณตัวอักษร
ทบทวน
คุณได้เรียนรู้ว่า ord และ chr ใช้แปลงตัวอักษรเป็นตัวเลขและแปลงกลับได้อย่างไร รวมถึงจุดรหัสที่เรียงต่อเนื่องกันช่วยให้คุณหาดัชนี เลื่อนตำแหน่ง และตรวจสอบอักขระด้วยคณิตศาสตร์ง่าย ๆ ได้อย่างไร 🎉
คำถามที่พบบ่อย
บทเรียน “เทคนิค Characters, ord และ chr” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เทคนิค Characters, ord และ chr” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Competitive Programming Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Competitive Programming Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เทคนิค Characters, ord และ chr”
แปลงตัวอักษรเป็นตัวเลขและแปลงกลับ คุณปฏิบัติ Competitive Programming Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Competitive Programming Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Competitive Programming Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “เทคนิค Characters, ord และ chr” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Competitive Programming Academy นี้ได้ไหม
ได้ บทเรียน Competitive Programming Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เทคนิค Characters, ord และ chr
- นับตัวอักษรด้วยตารางความถี่
- ตรวจสอบพาลินโดรมอย่างถูกต้อง
- แยก ตัดช่องว่าง และประกอบคำใหม่