gpt4 book ai didi

python - (Python) 为什么我的方法对象在类定义之后调用时不执行?

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:40 24 4
gpt4 key购买 nike

当我尝试在 IDLE 中运行我的程序时(我目前正在使用的文本编辑器,记事本++ 说缩进错误,我不知道为什么)它只执行 __init__ 中的代码,这表明它已被创建到一个对象中。但是在那之后的那一行,我尝试使用 main 方法,但它什么也没做。我也将其更改为另一种方法,但这也不起作用。这是我的程序:

import sys

class Main:
def __init__(self):
WinX = False
WinO = False
Turn = 'X'
LastTurn = 'X'
a, b, c, d, e, f, g, h, i = ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
PosList = []
PosList.append(a)
PosList.append(b)
PosList.append(c)
PosList.append(d)
PosList.append(e)
PosList.append(f)
PosList.append(g)
PosList.append(h)
PosList.append(i)
self.board = '+---+---+---+\n| ' + PosList[0] +' | '+ PosList[1] +' | '+ PosList[2] +' |\n+---+---+---+\n| '+ PosList[3] +' | '+ PosList[4] +' | '+ PosList[5] +' |\n+---+---+---+\n| '+ PosList[6] +' | '+ PosList[7] +' | '+ PosList[8] +' |\n+---+---+---+'
print self.board

def UpdateTurn(self):
if LastTurn == 'X':
Turn == 'O'
elif LastTurn == 'O':
Turn == 'X'
LastTurn = Turn

def WinChecker(self):
if a and b and c == 'X' or a and d and g == 'X' or a and e and i == 'X' or g and e and c == 'X' or g and h and i == 'X' or c and f and i == 'X':
WinX = True
if a and b and c == 'O' or a and d and g == 'O' or a and e and i == 'O' or g and e and c == 'O' or g and h and i == 'O' or c and f and i == 'O':
WinO = True

def UpdateBoard(self):
print self.board

def Starter(self):
while True:
try:
i = int(input(''))
except TypeError:
print 'Not a Number, Try Again.'
continue
i -= 1
PosList[i] = Turn
self.UpdateBoard
self.WinChecker
if Winx == True:
print 'X Wins!'
sys.exit()
elif Wino == True:
print 'O Wins!'
sys.exit()
self.UpdateTurn

s = Main()
s.Starter

我刚刚(4 天)完成了 python 自己的教程。

最佳答案

像这样调用Starter函数

s.Starter()

也可能存在逻辑错误下面的 while 循环将始终为真。

def Starter(self):
while True:
try:
i = int(input(''))
except TypeError:
print 'Not a Number, Try Again.'
continue

关于python - (Python) 为什么我的方法对象在类定义之后调用时不执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10967814/

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