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

ตรวจสอบว่าภาพกระจกของตัวเลขบน 7-Segment Display เหมือนเดิมหรือไม่ด้วย Python


สมมติมีตัวเลข n ต้องตรวจสอบว่าภาพกระจก (Mirror Image) บน 7-Segment Display เหมือนตัวเลขเดิมหรือไม่

เช่น Input n = 818 Output True

ตรวจสอบว่าภาพกระจกของตัวเลขบน 7-Segment Display เหมือนเดิมหรือไม่ด้วย Python

ขั้นตอนแก้:

  • แปลง n เป็น String
  • ทุกหลักต้องเป็น 0, 1, หรือ 8 เท่านั้น (ตัวเลขอื่นกระจกไม่ได้ตัวเอง)
  • เช็ค Palindrome (อ่านจากหน้าหลังเท่ากัน)

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

def solve(n):
    num_str = str(n)
    for i in range(len(num_str)):
        if num_str[i] not in ['0', '1', '8']:
            return False
    left = 0
    right = len(num_str) - 1
    while left < right:
        if num_str[left] != num_str[right]:
            return False
        left += 1
        right -= 1
    return True

n = 818
print(solve(n))

Input

818

Output

True