Выводится только последняя буква переменной в с помощью random.choice
Проблема очень глупая, так как очень давно не программировал. Надеюсь, поможете, хоть проблема реально очень глупая. Итак, есть у меня такой фрагмент кода:
chars = 'abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data == 'yes':
for generatekey in range (15):
payid = random.choice(chars)
print (payid)
bot.send_message(call.message.chat.id, 'Вот твоя ссылка на оплату: [ссылка позже].\nОбязательно в комментариях к оплате укажи этот код:' + payid)
Сам бот выдает только последнюю букву переменной payid, а компилятор выдает все буквы, но каждая буква через новую строку. Как можно исправить?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Вы в этом коде никуда не сохраняете те значения, которые генерируете, поэтому сохраняется только последнее значение:
for generatekey in range (15):
payid = random.choice(chars)
print (payid)
Вместо этого цикла используйте такой код, он объединяет все ваши результаты случайного выбора в одну строку:
payid = ''.join(random.choice(chars) for _ in range (15))
print (payid)