我正在编写一个Duck类,这样创建的每个Duck对象都包含wingspan和weight字段变量。对于每个duck,都应该随机初始化其中的每一个。翼展应初始化为[80.0100.0]cm范围内的随机浮动。重量应在[0.7,1.6]kg范围内随机初始化。你知道吗
我原以为这很简单,但由于某些原因,我的输出完全错误:
import random
class Duck:
wingspan = round(random.uniform(80.0, 100.0), 1)
weight = round(random.uniform(0.7,1.6), 2)
我正在寻找类似的输出:
>>> duck1 = Duck()
>>> print(duck1.wingspan)
83.2
>>> print(duck1.weight)
0.93
>>> duck2 = Duck()
>>> print(duck2.wingspan)
97.5
>>> print(duck2.weight)
1.32
但是我得到的翼展和重量都是一样的:
>>> duck1 = Duck()
>>> print(duck1.wingspan)
83.2
>>> print(duck1.weight)
0.93
>>> duck2 = Duck()
>>> print(duck2.wingspan)
83.2
>>> print(duck2.weight)
0.93
您创建了类变量,而不是实例变量。这意味着这些值对于类的所有实例都是相同的。只需将它们分配给实例:
相关问题 更多 >
编程相关推荐