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

ตรวจสอบว่าภาพสะท้อนของตัวเลขเหมือนกันหรือไม่หากแสดงในเจ็ดส่วนแสดงใน Python


สมมติว่าเรามีตัวเลข n เราต้องตรวจสอบว่าภาพสะท้อนของตัวเลขนั้นเหมือนกับหมายเลขที่กำหนดหรือไม่เมื่อแสดงบนจอแสดงผล Seven Segment

ดังนั้นหากอินพุตเท่ากับ n =818 เอาต์พุตจะเป็น True

ตรวจสอบว่าภาพสะท้อนของตัวเลขเหมือนกันหรือไม่หากแสดงในเจ็ดส่วนแสดงใน Python

ภาพสะท้อนในกระจกก็เหมือนกัน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • num_str :=n เป็นสตริง
  • สำหรับฉันในช่วง 0 ถึงขนาด num_str - 1 ทำ
    • ถ้า num_str[i] ไม่ใช่ ['0', '1', '8'] แล้ว
      • คืนค่าเท็จ
  • ซ้าย :=0
  • ขวา :=ขนาดของ num_str - 1
  • ขณะซ้าย <ขวา ทำ
    • ถ้า num_str[left] ไม่เหมือนกับ num_str[right] แล้ว
      • คืนค่าเท็จ
    • ซ้าย :=ซ้าย + 1
    • ขวา :=ขวา - 1
  • คืนค่า True

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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))

อินพุต

818

ผลลัพธ์

True