Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tìm giá trị thiếu từ phương trình a + b = c trong Python


Cho phương trình dạng a + b = c, trong đó một trong ba số a, b, c bị thiếu (được thay bằng ?). Tìm số bị thiếu.

Ví dụ: ? + 4 = 9 -> kết quả 5.

Thuật toán giải quyết

  • Xóa khoảng trắng, thay + và = bằng dấu phẩy.
  • Tách chuỗi thành mảng elements.
  • Tìm chỉ số idx của phần tử không phải số (là ?).
  • Nếu idx == 2 (thiếu c): trả về a + b.
  • Nếu idx == 1 (thiếu b): trả về c - a.
  • Nếu idx == 0 (thiếu a): trả về c - b.

Ví dụ minh họa

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 = ?'))   # 14
print(find_missing('? + 8 = 20'))  # 12
print(find_missing('5 + ? = 15'))  # 10

Đầu vào

'6 + 8 = ?', '? + 8 = 20', '5 + ? = 15'

Đầu ra

14 12 10