蟒蛇:'兰德'未定义,在类中使用随机

时间:2014-12-05 10:40:09

标签: python class random module

我在使用随机模块时遇到问题,因为我在类中使用了randint,它似乎无法访问随机模块。该如何处理?

from random import random

class Pursuer():
    X_tally = 0
    Y_tally = 0

    def __init__(self):     


    def roll_pursue_type(self):
        self.pursue_dice = rand.randint(1,100)
        print(self.pursue_dice)

回溯:第12行,在roll_pursue_type中     self.pursue_dice = rand.randint(1,100) NameError:名称'rand'未定义

4 个答案:

答案 0 :(得分:2)

该模块名为random,而不是rand,但您没有正确导入:

# Import the *module*, not the function
import random

# Use the correct name in your method
self.pursue_dice = random.randint(1,100)

语句from random import random仅导入对random.random() function的引用,而不是模块本身。您正尝试在该模块上使用不同的函数,因此更容易导入整个模块对象。

也可以以其他名称导入模块:

# Still importing the *module*, not the function, but renaming it
import random as rand

# using the new name in your method
self.pursue_dice = rand.randint(1,100)

答案 1 :(得分:0)

您导入了random,而不是rand(另外,您只是从随机模块中导入了随机函数)

因此,您使用import random然后random.randint(),或者您可以在导入时重命名:

import random as rand

答案 2 :(得分:0)

将随机导入为rand

self.pursue_dice = rand.randint(1,100)

使用python作为运算符随机为rand

答案 3 :(得分:0)

尝试numpy的rand:

from numpy.random import rand