Делаю программу для генерации рандомных букв из списка, в итоге ошибка, не понимаю в чем проблема
import random
stroka = input('Введи буквы для генерации списка : ')
dlina = int(input('Введи длину генерации : '))
liststroka = list(stroka)
generimone = random.shuffle(liststroka)
generimtwo = ''.join([random.choice(generimone) for x in range(dlina)])
print(generimtwo)
В итоге ошибка:
Traceback (most recent call last):
File "D:/JetBrains/PyCharm Community Edition 5.0.6/Egoroff_Chanel/Learning python/Learning_Egoroff.py", line 516, in <module>
generimtwo = ''.join([random.choice(generimone) for x in range(dlina)])
File "D:/JetBrains/PyCharm Community Edition 5.0.6/Egoroff_Chanel/Learning python/Learning_Egoroff.py", line 516, in <listcomp>
generimtwo = ''.join([random.choice(generimone) for x in range(dlina)])
File "C:\Users\Stan\AppData\Local\Programs\Python\Python38-32\lib\random.py", line 288, in choice
i = self._randbelow(len(seq))
TypeError: object of type 'NoneType' has no len()
Ответы (2 шт):
Автор решения: Karlson21
→ Ссылка
Попробуйте так:
import random
stroka = input('Введи буквы для генерации списка : ')
dlina = int(input('Введи длину генерации : '))
liststroka = list(stroka)
generimone = liststroka
random.shuffle(generimone)
print(generimone)
generimtwo = ([random.choice(generimone) for x in range(dlina)])
print(generimtwo)
В вашем примере generimone == None.
Автор решения: TongBiis
→ Ссылка
Не актуально, разобрался ошибка была здесь:
generimone = random.shuffle(liststroka)
generimtwo = ''.join([random.choice(generimone) for x in range(dlina)])
а должно быть:
random.shuffle(liststroka)
generimtwo = ''.join([random.choice(liststroka) for x in range(dlina)])