Giả sử chúng ta có một phương trình ở dạng sau:a + b =c, bây giờ thiếu một trong các số hạng của a, b hoặc c. Chúng tôi phải tìm cái còn thiếu.
Vì vậy, nếu đầu vào như thế nào? + 4 =9, thì đầu ra sẽ là 5
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
xóa tất cả các khoảng trắng khỏi chuỗi và thay đổi (+ và =thành dấu phẩy ',')
-
Elements:=danh sách các phần tử bằng cách tách chuỗi được phân tách bằng dấu phẩy
-
idx:=0
-
đối với tôi trong phạm vi từ 0 đến kích thước của các phần tử, hãy thực hiện
-
nếu các phần tử [i] không phải là số, thì
-
idx:=i
-
đi ra từ vòng lặp
-
-
-
nếu phần tử cuối cùng bị thiếu, thì
-
trả về phần tử đầu tiên + phần tử thứ hai
-
-
ngược lại khi thiếu phần tử thứ hai thì
-
trả về phần tử cuối cùng - phần tử đầu tiên
-
-
ngược lại khi phần tử đầu tiên bị thiếu thì
-
trả về phần tử cuối cùng - phần tử thứ hai
-
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
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'))
Đầu vào
'6 + 8 = ?' '? + 8 = 20' '5 + ? = 15'
Đầu ra
14 12 10