Вызов функции в ООП

Мне нужно в методе check(), если пользователь введёт 1 - вызвать метод algorithms(), как это сделать?

исходный код:

class Logic:
    def __init__(self):
        pass
 
    def check(self):
        if question == variants[0]:
            pass
 
    def algorithms(self):
            nums = [1, 7, 3, 4, 6, 2, 9, 8, 5] # сортировка выборкой
 
            print('Было', nums)
 
            for i in range(len(nums)):
                lowest = i  # первый эелемент примем за наименьший
 
                for x in range(i+1, len(nums)):
                    if nums[x] < nums[lowest]:
                        lowest = x  # нашли эелемент меньше в правом срезе
                nums[i], nums[lowest] = nums[lowest], nums[i]
 
            print('Стало', nums)

variants = ['Сортировка выборкой']
 
question = input('[1] Сортировка выборкой\nВведите номер пункта алгоритма: ')
 
runner = Logic()
runner.check()
runner.algorithms()

Ответы (2 шт):

Автор решения: S. Nick

Попробуйте так

class Logic:
    def __init__(self):
        super().__init__()
        self.variants = ['Сортировка выборкой',]
 
    def check(self):
        question = input('[1] Сортировка выборкой\nВведите номер пункта алгоритма: ')
        
#        if question == self.variants[0]:
        if question == '1':
            self.algorithms()                      # <----
 
    def algorithms(self):
            nums = [1, 7, 3, 4, 6, 2, 9, 8, 5]     # сортировка выборкой
            print('Было', nums)
 
            for i in range(len(nums)):
                lowest = i                         # первый эелемент примем за наименьший
                for x in range(i+1, len(nums)):
                    if nums[x] < nums[lowest]:
                        lowest = x                 # нашли эелемент меньше в правом срезе
                nums[i], nums[lowest] = nums[lowest], nums[i]
            print('Стало', nums)

#variants = ['Сортировка выборкой']
#question = input('[1] Сортировка выборкой\nВведите номер пункта алгоритма: ')
 
runner = Logic()
runner.check()
#runner.algorithms()
→ Ссылка
Автор решения: 6 crimes

Решение вашей проблемы:

    def check(self):
        if int(question) == 1:
            self.algorithms()

Вызов функций внутри класса происходит следующим образом:

self.func_name(args)
→ Ссылка