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