可以继续添加带有增加的类变量的调用函数吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可以继续添加带有增加的类变量的调用函数吗?相关的知识,希望对你有一定的参考价值。

我对Python3中的以下程序有一个问题,该程序接受一个字符串,该字符串中的值的数量决定了该函数在调用时是否再次继续。有人通知我,如果在初始化程序中使用诸如self.turn = 0之类的可递增变量,则可以在move()中使用它,而不必在move()中将其定义为没有无限循环。我遇到的问题是,当我运行程序并多次输入“良好输入”(> = 3)时,可递增变量self.turn保持为1,而不是我想要的增加。每次调用该函数后,是否可以继续递增?谢谢,尤里

class Player:
    def __init__(self):
        self.display = 'A'
        self.turn = 0 

    def move(self, move):
        self.move = move
        if self.turn == 0 and len(move) <3:
            self.turn+=1
            print('Your current total of turns: ',self.turn)
            print()
            exit()
        
        if len(move) >= 3 :
            print('good input')
            self.turn +=1
            print('Your current total of turns: ',self.turn)
            print()
        
        else:
            print('bad input')
            self.turn +=1
            print('Your current total of turns: ',self.turn)
            print()
            exit()

        move = input('Input a move: ')
        Player().move(move)



move = input('Input a move: ')
Player().move(move)
答案

进入代码的这一部分并退出,因为默认情况下,turn = 0

if self.turn == 0 and len(move) <3:
   self.turn+=1
   print('Your current total of turns: ',self.turn)
   print()
   exit()

以上是关于可以继续添加带有增加的类变量的调用函数吗?的主要内容,如果未能解决你的问题,请参考以下文章

对类中的成员函数的定义和声明最后添加一个const是什么意思?

可以在 Python 的类中调用有状态函数吗?

类函数、成员函数、静态函数、抽象函数、方法伪装属性

[转]如何写出线程安全的类和函数

python中的类

可以在 $.when().done() 中使用带有 ajax 调用的函数吗? [复制]