170 похожих чатов

Привет ребята. подскажите, как лучше сделать: есть у меня ботик, в

нем есть кнопки)))
есть папочка, в которой лежат картиночки (с названиями 1.jpg, 1_1.jpg, 2.jpg, 2_1.jpg, и так далее)
Эти картиночки могут как добавляться, так и удаляться из папки.

суть в том, что пользователь должен тыкнуть кнопку в боте и он ему рандомно должен прислать картиночки из этой папки.

сейчас это реализовано в функции, которая выполняется по нажатию клавиши в боте, т.е.
-юзер тыкает кнопку, запускается функция
-в функции через os.listdir считываются в список файлики:
list_of_files=os.listdir('files/images/' + category + '/' + material + '/')
дальше (МНЕ ЭТОТ МОМЕНТ НЕ НРАВИТСЯ) происходит рандомный выбор элемента из списка:
ll=random.randint(0,(int((len(list_of_files))/2)-1))
потом происходит собсна отправка:
pic1 = open('files/images/' + category + '/' + material + '/' + str(ll) + '.jpg', 'rb')
pic2 = open('files/images/' + category + '/' + material + '/' +str(ll)+'_1.jpg', 'rb')
photo = [InputMediaPhoto(pic1), InputMediaPhoto(pic2)]
bot.send_media_group(message.chat.id, photo)
bot.send_message(message.chat.id, description, reply_markup=keyboard)

что не нравится:
то что рандом, собака, повторяется, т.е. может периодически повторяться, а я бы хотел чтобы он рандомно выбирал все и после того как он уже все прислал - начинал заново

второе - слишком как-то криво что ли я подошел к решению своего вопроса.

что скажете?

5 ответов

9 просмотров

random.chose(['1.png', '2.png'])

Daniil Fedotov
.choice()*

Ну ошибка) я с телефона

насчёт того что рандом повторяется думаю как то можно сделать через ещё один список + метод .pop

Alex-K Автор вопроса
Taijef ×34
насчёт того что рандом повторяется думаю как то мо...

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

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта