在Python中,一个增量变量是否可以在函数调用中再次使用?

问题描述 投票:0回答:2

所以,我在做一个游戏,需要用户输入一个动作。我使用了一个变量来计算一个函数内的回合数。我的问题是,我想调用函数,只要不满足某些条件(x !=y),所以用户可以输入另一个输入。问题是,由于我在函数中使用了变量(turn),当我调用函数时,它将重置为1,从而陷入无限循环。

有没有办法在这种情况下使用变量(turn),并在每增加一圈时保持其总数?

非常感谢,谢谢!

PS. 我是Python新手

class Player:
    def __init__(self):
        self.display = 'A'
        
    def move(self, move):
        self.move = move
        turn = 1
        while x != y:
          if self.move == 's':
            print('correct')
            turn +=1
        change = input('Input a move: ')
        Player().move(change)
            
change = input('Input a move: ')
Player().move(change)
python function class variables
2个回答
0
投票

这就是对象数据成员的作用。转换 turn 到一个像这样的数据成员。

class Player:
    def __init__(self):
        self.display = 'A'
        self.turn = 1      # initialize in constructor instead of in 'move'

    def move(self, move):
        self.move = move
        while x != y:
          if self.move == 's':
            print('correct')
            self.turn +=1  # Access as a data member
        change = input('Input a move: ')
        Player().move(change)

Now, self.turn 将在调用 move.


0
投票

你可以做 turn 的字段,并将其设置为1。启动. 这样,当调用 move() 在一个播放器对象上多次。

© www.soinside.com 2019 - 2024. All rights reserved.