random.randint错误

时间:2010-11-14 17:21:10

标签: python python-2.x

我有一些看起来像这样的代码:

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'。但是,在IDLE中运行相同的random.randint查询时没有问题。我该如何解决这个问题?

7 个答案:

答案 0 :(得分:35)

你有另一个名为“随机”的模块。您是否将脚本命名为“random.py”?

答案 1 :(得分:6)

检查您的文件名称!在你的情况下“随机”是关键词,你不能使用&#34;随机&#34;作为文件名。请注意,没有文件名为random.py

答案 2 :(得分:3)

如果您正在处理的文件名或项目中的其他文件名为“random.py”,则您的程序会尝试在该位置找到randint函数,但无法找到它。

您应该将任何文件名random.py更改为其他内容。在此之后,“import random”将解析为“actual”random.py模块,您将成功使用 randint 或模块中的任何其他功能。

答案 3 :(得分:2)

代码对我来说很好,所以你必须在你的PYTHONPATH上有另一个名为“random”的模块

尝试一个目录(随机)来查看其中的内容。这可能会让您更容易记住为什么您有另一个名为random的模块以及它在哪里。

答案 4 :(得分:2)

将文件名从cv2.cvtColor更改为random.py之类的其他可以解决问题的文件。

答案 5 :(得分:0)

您可以使用numpy array轻松解决问题,只需执行以下操作

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, "= "

答案 6 :(得分:0)

错误与文件名有关

项目中python文件或其他文件的名称可能是random.py,因此更改后,不会有任何错误