@Dimasr

Пожалуйста исправьте ошибку: local variable 'bot_on' referenced before assignment?

dialog_start = (
    f"Вы подключились к USSD-сервису нашего контактного центра:\n"
    f"Вас приветствует бот.\n"
    f"Я помогаю получить ответы на самые часто задаваемые вопросы."
)
topics = (
    f"Введите код, чтобы узнать:\n"
    f"*010#: Вопросы про доставку.\n" 
    f"*020#: Вопросы про ассортимент.\n"
    f"*030#: Вакансии.\n"
    f"*040#: Вызов оператора.\n"
    f"*000#: Закончить общение с ботом."
)
bot_on = True

def response(code):
    if "*010#" == code:
        print("https://site.com/010/ ссылка на наш сайт с информацией про доставку.")
    elif "*020#" == code:
        print("https://site.com/020/ ссылка на наш сайт с информацией про ассортимент.")
    elif "*030#" == code:
        print("https://site.com/030/ ссылка на наш сайт с информацией про вакансии.")
    elif "*040#" == code:
        print("Соединяю с оператором.")
        bot_on = True
    elif "*000#" == code:
        print("Сервис отключается.")
    else:
        print("Команда не поддерживается.")
    return bot_on 


telephone = input("Подключитесь к сервису:")
format_tel = telephone.replace(" ", "")
if format_tel == "8800123456789":
    print(f'{dialog_start}')
    while bot_on:
        code = input(f'{topics}') 
        response(code)
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dmshar
Так написано, черным по белому - "local variable 'bot_on' referenced before assignment".
Вы английский, надеюсь, знаете?
Предполагаю, что ошибка выскакивает при попытке выполнения ф-ции response.
Она мало того, что написана скорее всего с ошибкой, так еще выложена на сайт в полном неуважении к тем, кто захочет вам помочь. О том, что код надо оборачивать в соответствующие теги, вы прежде чем что-то писать на сайт в его правилах, надеюсь, прочитали?
Ну и наконец, третье "надеюсь" - надеюсь, что такое локальные и глобальные переменные в Python - вы тоже знаете?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы