#python #performance #if-statement
#питон #Производительность #если-заявление
Вопрос:
Я хочу упростить эти «если», каковы варианты? Спасибо.
user_id = message.from_user.id user = user_data[user_id] user.profil = message.text if not user.profil == '97': if not user.profil == '82': if not user.profil == '72': if not user.profil == '64': if not user.profil == '45': if not user.profil == '25': markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) markup.add('97', '82', '72', '64', '45', '25') msg = bot.send_message(message.chat.id, 'אנא בחר פרופיל.', reply_markup=markup) bot.register_next_step_handler(msg, process_profil_step) return
Комментарии:
1.
if user.profil not in ...
2. не могли бы вы, пожалуйста, написать это в коде? на самом деле я не понимаю
3. По крайней мере, вы можете просто написать
if user.profil != '97' or user.profil != '82' or ...:
.4. (И никто не пишет
if not ... == ...
в предпочтенииif ... != ...
.)
Ответ №1:
С not in
тобой это можно сделать:
unwanteds = {'97', '82', '72', '64', '45', '25'} if user.profil not in unwanteds: markup = ...
Таким образом, это проверяет, не входит ли user.profil в набор нежелательных. {} устанавливает его так, чтобы поиск был несколько быстрым.