1

我需要有关此问题的帮助:我创建了一个引用是随机数的类。问题是这样的:每次调用该类时,我都会得到相同的数字,因此使用随机数毫无意义;有没有办法解决这个问题?

import random
class dicethrow:
    result = random.randint (1,6)
a = dicethrow ()
b = dicethrow ()

使用这个,a == b 总是,我需要它们不同。谢谢!

4

3 回答 3

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

也可以看看:

于 2013-09-30T19:50:11.310 回答
1

关于什么

class dicethrow:
    def __init__(self):
        self.result = random.randint(1, 6)
于 2013-09-30T19:50:01.127 回答
1

这是因为 result 是一个静态变量,由类的所有实例共享。

你需要的是一个函数:

import random
def dicethrow():
    return random.randint (1,6)
a = dicethrow ()
b = dicethrow ()
于 2013-09-30T19:50:52.530 回答