Почему не работает нижеуказанный python код?
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
Источник: Stack Overflow на русском