Ответ 1
У вас есть еще один модуль, называемый "случайным". Вы назвали ваш script "random.py"?
У меня есть код, который выглядит примерно так:
import random
n = 0
while n <= 50:
n = n+1
a = random.randint(1, 16)
b = random.randint(1, 5)
print n, ". ", a, "-", b, "= "
По какой-то причине при запуске я получаю следующую ошибку: AttributeError: 'module' object has no attribute 'randint'
. Тем не менее, у меня нет проблем при запуске одних и тех же запросов random.randint в IDLE. Как я могу это исправить?
У вас есть еще один модуль, называемый "случайным". Вы назвали ваш script "random.py"?
Проверьте имя файла! В вашем случае "случайным" является ключевое слово, вы не можете использовать "random" в качестве имени файла. Позаботьтесь о том, чтобы файлы не назывались random.py
.
Если имя файла, над которым вы работаете, или другой файл в вашем проекте называется "random.py", ваша программа пытается найти функцию randint в этом месте и не может ее найти.
Вы должны изменить любые имена файлов random.py на что-то другое. После этого "import random" будет разрешен к "фактическому" модулю random.py, и вы успешно используете randint или любую другую функцию в модуле.
Измените имя файла с random.py
на любое другое, например random_number.py
которое решит вашу проблему.
Код работает отлично для меня, поэтому у вас должен быть еще один модуль, называемый "random" на вашем PYTHONPATH
Попробуйте каталог (случайный), чтобы узнать, что в нем. Это может облегчить запоминание того, почему у вас есть другой модуль с именем random и где он находится.
Вы можете легко решить проблему с помощью массива numpy, выполнив следующие действия:
import numpy as np
import random
n = 0
while n <= 50:
n = n+1
a = np.random.randint(1, 16)
b = np.random.randint(1, 5)
print n, ". ", a, "-", b, "= "