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