gpt4 book ai didi

python - Duck 类,它为每个鸭子对象创建随机初始化的数字

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:14 26 4
gpt4 key购买 nike

我正在编写一个 Duck 类,这样创建的每个 Duck 对象都包含翼展和重量字段变量。每只鸭子都应该随机初始化这些中的每一个。翼展应初始化为 [80.0,100.0]cm 范围内的随机 float 。权重应在[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

最佳答案

您创建的是类变量,而不是实例变量。这意味着这些值对于该类的所有 实例都是相同的。只需将它们分配给实例:

import random
class Duck:
def __init__(self):
self.wingspan = round(random.uniform(80.0, 100.0), 1)
self.weight = round(random.uniform(0.7,1.6), 2)

关于python - Duck 类,它为每个鸭子对象创建随机初始化的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33963595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com