在Python中从给定方程a + b = c中找到缺失值

假设我们有一个这样的方程:a + b = c,现在a,b或c中的任何一项都不存在。我们必须找到丢失的那个。

那么,如果输入像?+ 4 = 9,则输出将为5

为了解决这个问题,我们将遵循以下步骤-

  • 删除字符串中的所有空格并更改(用+和=逗号',')

  • elements:=通过拆分由逗号分隔的字符串组成的元素列表

  • idx:= 0

  • 对于0到元素大小范围内的i,执行

    • idx:=我

    • 从循环中出来

    • 如果elements [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
    猜你喜欢