Подтвердить что ты не робот

Random.randint error

У меня есть код, который выглядит примерно так:

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. Как я могу это исправить?

4b9b3361

Ответ 1

У вас есть еще один модуль, называемый "случайным". Вы назвали ваш script "random.py"?

Ответ 2

Проверьте имя файла! В вашем случае "случайным" является ключевое слово, вы не можете использовать "random" в качестве имени файла. Позаботьтесь о том, чтобы файлы не назывались random.py.

Ответ 3

Если имя файла, над которым вы работаете, или другой файл в вашем проекте называется "random.py", ваша программа пытается найти функцию randint в этом месте и не может ее найти.

Вы должны изменить любые имена файлов random.py на что-то другое. После этого "import random" будет разрешен к "фактическому" модулю random.py, и вы успешно используете randint или любую другую функцию в модуле.

Ответ 4

Измените имя файла с random.py на любое другое, например random_number.py которое решит вашу проблему.

Ответ 5

Код работает отлично для меня, поэтому у вас должен быть еще один модуль, называемый "random" на вашем PYTHONPATH

Попробуйте каталог (случайный), чтобы узнать, что в нем. Это может облегчить запоминание того, почему у вас есть другой модуль с именем random и где он находится.

Ответ 6

Вы можете легко решить проблему с помощью массива 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, "= "