假设我们有一个这样的方程: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