在 Python 中查詢給定方程 a + b = c 中的缺失值


假設我們有一個這樣的方程式:a + b = c,現在 a、b 或 c 中的任何一項都缺失。我們必須找到缺失的那一項。

因此,如果輸入類似於 ? + 4 = 9,則輸出將為 5

為了解決這個問題,我們將遵循以下步驟 -

  • 從字串中刪除所有空格,並將 (+ 和 = 更改為逗號 ',')

  • elements := 透過以逗號分隔的字串分割元素列表

  • idx := 0

  • 對於 i 從 0 到 elements 大小,執行

    • 如果 elements[i] 不是數字,則

      • idx := i

      • 退出迴圈

  • 如果最後一個元素缺失,則

    • 返回第一個元素 + 第二個元素

  • 否則,當第二個元素缺失時,則

    • 返回最後一個元素 - 第一個元素

  • 否則,當第一個元素缺失時,則

    • 返回最後一個元素 - 第二個元素

示例

讓我們看看以下實現以獲得更好的理解 -

 即時演示

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

更新於: 2020-08-27

530 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.