Python更改变量的值

Python更改变量的值,python,simulation,Python,Simulation,我正在为一场音乐会进行模拟,在模拟中,我生成每个歌迷在做其他事情(买食物、饮料或上厕所)之前在舞台前花费的时间量。然而,我为他们设定的时间不是倒计时的时间,直到他们离开去做其他事情 在进行倒计时时,我收到一个错误,说我不能将操作数+=用于非类型和int,在更改了分配停留时间的方式后,我意识到许多停留时间都已更改 风扇类别代码 class Fan: stay = 0 def __init__(self, gender): self.gender = gender

我正在为一场音乐会进行模拟,在模拟中,我生成每个歌迷在做其他事情(买食物、饮料或上厕所)之前在舞台前花费的时间量。然而,我为他们设定的时间不是倒计时的时间,直到他们离开去做其他事情

在进行倒计时时,我收到一个错误,说我不能将操作数
+=
用于非类型和int,在更改了分配停留时间的方式后,我意识到许多停留时间都已更改

风扇
类别代码

class Fan:
    stay = 0
    def __init__(self, gender):
        self.gender = gender
此代码创建一个风扇,计算风扇在舞台前停留的时间,并将其添加到舞台前部区域

   for i in range(200):
       x = random.randint(1,10)
       if x <= 7:
           f = Fan("f")
           f.stay = stage.calcstay()
           stage.addfan(f)
           print(i,": ",f.stay)
       else:
           f = Fan("m")
           f.stay = stage.calcstay()
           stage.addfan(f)
           print(i,": ",f.stay)
这是
stagefunction()
方法:

def stagefunction():
    if len(stage.fans) > 0:
        for i in range(len(stage.fans)):
            print(i,": ",stage.fans[i].stay)
            stage.fans[i].stay += -1
            if  stage.fans[i].stay <= 0:
                movefromstage(i)
            stage.TTS += 1
    return
def stagefunction():
如果len(舞台风扇)>0:
对于范围内的i(len(stage.fans)):
打印(i,“:”,stage.fans[i].停留)
舞台。粉丝[i]。停留+=-1

if stage.fans[i].stay
stay
类变量
,而不是
实例变量
。这意味着
stay
的值对类的所有实例都是通用的,如果要更改它,必须从类而不是实例中更改它


若要定义一个
实例变量
,请将其放入
\uuuu init\uuuu()
函数中

能否显示
风扇
类代码?这需要一个最小、完整且可验证的示例。@alec935我已添加it@OmariLawrence非常感谢。我补充了一个答案。
def stagefunction():
    if len(stage.fans) > 0:
        for i in range(len(stage.fans)):
            print(i,": ",stage.fans[i].stay)
            stage.fans[i].stay += -1
            if  stage.fans[i].stay <= 0:
                movefromstage(i)
            stage.TTS += 1
    return