Почему не работает нижеуказанный python код?

Рейтинг: 0Ответов: 0Опубликовано: 01.07.2023
task_choice = int(input('Номер задания: '))

first_dict = {'Michael Jordan' : '198 cm'}
second_dict = {'serenite' : 'serenity'}
third_dict = {
    'Fullname' : 'Тестовый кадр 123',
    'Phone number' : '+777777',
    'Email' : 'test123@gmail.com',
    'Job' : 'Senior python dev',
    'Cab' : '07',
    'Skype' : 'who cares?'
}
fourth_dict = {
    'Author' : 'Steven King',
    'Book' : 'Mr Mercedes',
    'Genre' : 'Triller',
    'Year' : '2014',
    'Pages' : '476',
    'Publishing': 'AST'
}

class Running_task:

    def complete(self):
        cont = input('Начинаем?(Да): ')
        while cont == 'Да':
            print(self)
            confirm = input('Изменить, Удалить, Искать, Добавить?: ')
            if confirm == 'Изменить':
                Methods.replace(self)
            cont = input('Продолжить операции со словарем?(Да/Нет/Выйти): ')
            if cont != 'Да' and cont != 'Нет' and cont != 'Выйти':
                print('Неверный ввод')
            if cont == 'Выйти':
                exit()
        if confirm == 'Удалить':
            Methods.delete(self)
            cont = input('Продолжить операции со словарем?(Да/Нет/Выйти): ')
            if cont != 'Да' and cont != 'Нет' and cont != 'Выйти':
                print('Неверный ввод')
            if cont == 'Выйти':
                exit()
        if confirm == 'Искать':
            Methods.search(self)
            cont = input('Продолжить операции со словарем?(Да/Нет/Выйти): ')
            if cont != 'Да' and cont != 'Нет' and cont != 'Выйти':
                print('Неверный ввод')
            if cont == 'Выйти':
                exit()
        if confirm == 'Добавить':
            Methods.update(self)
            cont = input('Продолжить операции со словарем?(Да/Нет/Выйти): ')
            if cont != 'Да' and cont != 'Нет' and cont != 'Выйти':
                print('Неверный ввод')
            if cont == 'Выйти':
                exit()
        else:
            print('Произошла ошибка')
            exit()

class Methods():
    def replace(self):
        print(self)
        rname = input('Ключ изменяемого значения: ')
        del self[rname]
        name = input('Новый ключ: ')
        height = input('Значение: ')
        self.update({name : height})
        print(f'Измененный словарь: {self}')

    def delete(self):
        name2 = input('Ключ удаляемого значения: ')
        try:
            del self[name2]
            print(f'Измененный словарь: {self} ')
        except KeyError:
            print(f'Неверный ввод, {name2} не существует!')

    def search(self):
        name3 = input('Ключ который ищем: ')
        if name3 in self.keys():
            print(self)
            print(f'{name3} есть в словаре')
        else:
            print(f'Неверный ввод, {name3} не существует в словаре!')
            
    def update(self): 
        name4 = input('Имя нового ключа: ')
        height4 = input('Значение: ')

        self[name4] = height4
        print(f'Измененный словарь: {self} ')

if task_choice == 1:
    Running_task.complete(first_dict)
elif task_choice == 2:
    Running_task.complete(second_dict)
elif task_choice == 3:
    Running_task.complete(third_dict)
elif task_choice == 4:
    Running_task.complete(fourth_dict)
else:
    print('Введен несуществующий номер задания')

Не работают операции со словарями, при запуске программы и выборе операции она не выполняется, код перескакивает на изменение переменной cont, не выполняя методы класса Methods

Ответы

Ответов пока нет.