所以,我在做一个游戏,需要用户输入一个动作。我使用了一个变量来计算一个函数内的回合数。我的问题是,我想调用函数,只要不满足某些条件(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)
这就是对象数据成员的作用。转换 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
.
你可以做 turn
的字段,并将其设置为1。启动. 这样,当调用 move()
在一个播放器对象上多次。