Как я могу сопоставлять элементы друг с другом, не используя слишком много операторов if/elif?

#python

Вопрос:

Я ищу способ без использования слишком большого if/elif количества операторов для поиска элементов, когда выполняются следующие условия. Иначе, более эффективным способом.

 import tkinter as tk
from tkinter import messagebox
import json
from form import Character_Assessment
class Dominant:
    def __init__(self):
     

           self.character1=[a,b,c]
           self.character2=[a,b,c]
           self.character3=[a,b,c]
           self.character4=[a,b,c]
           self.character5=[a,b,c]
           self.character6=[a,b,c]

    def find_match(self):
        self.y_1 = 0
        self.x_1 = 0
            

        for f in self.extrovert:
                q3 = tk.simpledialog.askstring(title="Please type 'y','dmt','ext'", prompt=f)
                if q3 == "y":
                    self.x_1  = 1
                elif q3 == "dmt":
                    self.x_1  = 1.5
                elif q3 == "ext":
                    self.x_1  = 2
        if 0 <=self.x_1 <= 16 and 2.25<=self.y_1<3:
            with open("Draft.txt", mode="a") as dr:
                dr.write(f"Specific:n {self.character3[5]}")
        elif 0 <=self.x_1 <= 16 and 1.5<=self.y_1<2.25:
            with open("Draft.txt", mode="a") as dr:
                dr.write(f"Specific:n {self.character3[6]}")
        elif 0 <=self.x_1 <= 16 and 0<=self.y_1<1.5:
            with open("Draft.txt", mode="a") as dr:
                dr.write(f"Specific:n {self.character3[7]}")
                          .
                          .(20 more conditions)
                          .
 

Моя цель-не писать такие длинные строки, сопоставляя элементы.

Комментарии:

1. Вложенные «если»? один для границы x, которая повторяется, и один для границ y?

2. Не могли бы вы привести мне пример? Спасибо.

3. Поместите свои значения в список кортежей (или списков) и используйте for цикл.

4. if 0 < x < 16: if 2.25 < y < 3 … на самом деле это не меньше, если высказывания за высказывание, но более эффективно для elif высказываний, так как вы не перепроверяете одно и то же условие

5. Кроме того, вам нужно открыть файл для записи только один раз. Почему вы делаете это в каждом состоянии?