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

ค้นหาค่าที่หายไปจากสมการที่กำหนด a + b =c ใน Python


สมมติว่าเรามีสมการเดียวในรูปแบบนี้:a + b =c ตอนนี้ไม่มีพจน์ใดของ a, b หรือ c เราต้องตามหาตัวที่หายไป

แล้วถ้าอินพุตเป็นแบบนี้ ? + 4 =9 จากนั้นผลลัพธ์จะเป็น 5

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

  • ลบช่องว่างทั้งหมดออกจากสตริงและเปลี่ยน (+ และ =เป็นจุลภาค ',')

  • องค์ประกอบ :=รายการองค์ประกอบโดยแยกสตริงคั่นด้วยเครื่องหมายจุลภาค

  • idx :=0

  • สำหรับฉันในช่วง 0 ถึงขนาดขององค์ประกอบ ทำ

    • หากองค์ประกอบ[i] ไม่ใช่ตัวเลข ดังนั้น

      • idx :=ผม

      • ออกจากวง

  • หากองค์ประกอบสุดท้ายหายไป

    • คืนค่าองค์ประกอบแรก + องค์ประกอบที่สอง

  • มิฉะนั้นเมื่อองค์ประกอบที่สองหายไปแล้ว

    • คืนค่าองค์ประกอบสุดท้าย - องค์ประกอบแรก

  • มิฉะนั้นเมื่อองค์ประกอบแรกหายไป

    • คืนค่าองค์ประกอบสุดท้าย - องค์ประกอบที่สอง

ตัวอย่าง

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

def find_missing(string):
   string = string.strip().replace(' ', '')
   string = string.replace('=',',')
   string = string.replace('+',',')
   elements = string.split(',')
   idx = 0
   for i in range(len(elements)):
      if not elements[i].isnumeric():
         idx = i
         break
   if idx == 2:
      return int(elements[0]) + int(elements[1])
   elif idx == 1:
      return int(elements[2]) - int(elements[0])
   elif idx == 0:
      return int(elements[2]) - int(elements[1])

print(find_missing('6 + 8 = ?'))
print(find_missing('? + 8 = 20'))
print(find_missing('5 + ? = 15'))

อินพุต

'6 + 8 = ?'
'? + 8 = 20'
'5 + ? = 15'

ผลลัพธ์

14
12
10