Computer >> Máy Tính >  >> Lập trình >> Python

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


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