สมมติว่าเรามีสมการเดียวในรูปแบบนี้: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