我需要这个问题的帮助:我创建了一个类,其引用是一个随机数。问题是这样的:每次调用那个类,我得到相同的数字,使得随机使用毫无意义;有什么方法可以解决这个问题吗?
import random
class dicethrow:
result = random.randint (1,6)
a = dicethrow ()
b = dicethrow ()
使用这个,a == b总是,我需要他们不同。 谢谢!
答案 0 :(得分:2)
在您的情况下,result
是一个类(或静态)变量 - 它被定义一次并且对于所有实例都是相同的。
在result
方法中定义__init__()
:
import random
class dicethrow:
def __init__(self):
self.result = random.randint(1,6)
a = dicethrow()
b = dicethrow()
print a.result
print b.result
另见:
答案 1 :(得分:1)
怎么样
class dicethrow:
def __init__(self):
self.result = random.randint(1, 6)
答案 2 :(得分:1)
这是因为结果是一个静态变量,由您所有类的实例共享。
这里需要的是一个功能:
import random
def dicethrow():
return random.randint (1,6)
a = dicethrow ()
b = dicethrow ()