在 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 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告