Проблема с кодом для создания "каши" из русских слов и фамилий
У меня есть код функции для Telegram-бота, который должен создавать текст-"кашу" из рандомных русских слов и фамилий. Вот отрывок кода с этой функцией:
def fish(message):
mes = message.text.split()
if len(mes) >= 2:
temp = mes[1]
for i in '.,?/\\':
if i in temp:
temp.replace(i, '')
mes = int(temp)
if not isinstance(mes, int):
bot.send_message(message.chat.id, 'Введи команду с длиной текста (количеством слов).\nНапример: /fish 32')
else:
first_reply = requests.get('https://raw.githubusercontent.com/danakt/russian-words/master/russian.txt')
second_reply = requests.get('https://raw.githubusercontent.com/danakt/russian-words/master/russian_surnames.txt')
russian_words = first_reply.content.decode('cp1251')
russian_surnames = second_reply.content.decode('cp1251')
list_words = russian_words.splitlines()
list_surnames = russian_surnames.splitlines()
list_all = list_words.extend(list_surnames)
mesg_text = ''
for i in range(mes):
temp_int = random.randint(0, len(list_all))
mesg_text = mesg_text + ' ' + list_all[temp_int]
bot.send_message(message.chat.id, mesg_text)
else:
bot.send_message(message.chat.id, 'Введи команду с длиной текста (количеством слов).\nНапример: /fish 32')
Но почему-то на строке temp_int = random.randint(0, len(list_all)) возникает ошибка TypeError: object of type 'NoneType' has no len(). Не могу понять, почему объект типа NoneType, если по сути должен быть int.
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
list_all = list_words.extend(list_surnames)
https://pythonz.net/references/named/list.extend/
Дополняет список элементами из указанного объекта.
list.extend(it) -> None
Вероятно, надо было написать
list_all = list_words + list_surnames