Типы проверки:
import string
a = ["!", "$", "%", "^", "&", "*", "(", ")", "-", "_", "=", "+"]
print(type(string.ascii_letters)) # <class 'str'>
print(type(a)) # <class 'list'>
print(type(string.digits)) # <class 'str'>
Вам необходимо либо преобразовать все list
с str
или все str
с list
до объединения, что вы должны сделать:
characters = string.ascii_letters + "".join(a) + string.digits
или
characters = list(string.ascii_letters) + a + list(string.digits)
в первом случае вы получаете characters
как str
, во втором как list
- оба принимаются random.choice
. Как примечание стороны: не import
внутри l oop, достаточно import
один раз.