• Как улучшить код?

    vabka
    @vabka
    Токсичный шарпист
    Просто сделай словарь, где ключом будет номер серии, а значением - все данные о ней, включая название и прочее.
    Если словарь получится слишком большим, то сохрани данные в бд. (но в этом нет смысла, тк инфа о всех сериях one piece должна спокойно уместиться в 1мб, а если добавить описания каждой серии и кадры - тогда да, будет много)
    Не гоже постоянно в цикле проходить по всему списку и парсить строки.
    for name in series_names:
                    value = name.split(" ")

    Делать if int(user_message) == int(value[0]) тоже нет смысла - можно просто сравнивать строки.
    И тем более нет смысла на каждый запрос читать весь файл with open('series.txt', 'r') as series_names:

    Ссылки следует начинать с https:// - так телега сразу сделает её кликабельной. Ссылки в принципе тоже можно кэшировать, вместо со всеми остальными данными - она не меняется + есть шанс, что когда-то ссылка изменится и уже не будет номером серии.
    link = f'jut.su/one-piece/episode-{user_message}.html'


    Тоесть в итоге будет как-то так:
    # Где-то в main
    global one_piece_episodes
    one_piece_episodes = {}
    with open('series.txt', 'r') as episodes_names:
      for episode_name in episodes_names:
        value = name.split(' ')
        key = value[0]
        name = value[1]
        link = f'https://jut.su/one-piece/episode-{key}.html'
        one_piece_episodes[key] = { "number": key, "name": name, "link": link }

    А потом уже при обработке сообщений:
    @bot.message_handler(content_types=['text'])
    def get_name(message):
        episode = one_piece_episodes.get(message.text)
        if episode != None:
            bot.send_message(message.chat.id, f'{episode["name"]}\n{episode["link"]}')

    В идеале стоит для инфы о сериях создать класс, чтобы не обращаться к вложенным словарям, но так уже лучше будет по всем параметрам.

    PS: Хабр Q&A не является сервисом для проведения код-ревью, и за подобные "вопросы" можно словить бан по причине 3.2, 3.7, 5.12
    Ответ написан
    2 комментария
  • Как задать траекторию пули?

    yupiter7575
    @yupiter7575
    Python программист
    Погуглите синус угла
    Ответ написан
    4 комментария