Использование if больше одного раза или его замена

Решил написать простого телеграмм бота. При нажатии на ReplyButton выполняется код и выводится курс валюты. Все работает, но только один раз. Потом приходится перезапускать команду в телеграмм, что не очень то и удобно.

def process_step(message):
    if message.text == 'USD':
        bot.send_message(message.chat.id, "Курс доллара = " + str(USD))
    elif message.text == 'EUR':
        bot.send_message(message.chat.id, "Курс евро = " + str(EUR))
    elif message.text == 'RUB':
        bot.send_message(message.chat.id, "Курс рубля = " + str(RUB))

Как сделать так, чтоб функция не завершалась после одного исполнения? И можно было бы сразу узнать курс другой валюты?


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

Автор решения: Vova Shkurletov

Это может быть цикл прерываемый командой стоп, хватит etc.

def process_step(message):
    while message.text!='Стоп':
        if message.text == 'USD':
            bot.send_message(message.chat.id, "Курс доллара = " + str(USD))
        elif message.text == 'EUR':
            bot.send_message(message.chat.id, "Курс евро = " + str(EUR))
        elif message.text == 'RUB':
            bot.send_message(message.chat.id, "Курс рубля = " + str(RUB))

→ Ссылка
Автор решения: Maxim Kapko
'''def process_step(message):
    if message.text == 'USD':
        bot.send_message(message.chat.id, "Курс доллара = " + str(USD))
        send_welcome(message)
    elif message.text == 'EUR':
        bot.send_message(message.chat.id, "Курс евро = " + str(EUR))
        send_welcome(message)
    elif message.text == 'RUB':
        bot.send_message(message.chat.id, "Курс рубля = " + str(RUB))
        send_welcome(message)'''

Пока что решил сделать так, просто перезапускать ф-ию, после каждого выбора пользователя, только нужно заменить функцию приветствия на что-то более вразумительное ))) ну и костыль получилося, походу...

→ Ссылка