random = random.randint(1,11)
Этот оператор повторно связывает имя random
, которое в настоящее время относится к импортированному модулю (оно было установлено, когда вы сделали import random
), на целое число , возвращенное из randint()
. В следующий раз, когда вы выполните этот оператор, random
больше не будет модулем, это будет целое число.
Это , почему он жалуется на попытку доступа к несуществующему атрибуту объект int
.
Следующая стенограмма показывает, что происходит:
>>> import random
>>> type(random)
<class 'module'>
>>> random = random.randint(1,7)
>>> type(random)
<class 'int'>
>>> random = random.randint(1,7)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'randint'
Чтобы исправить, просто используйте другое имя для случайного значения, например randNum
, так что random
продолжает быть привязанным к модулю.