有没有办法增加输入变量的圈容量

Is there a way to increase the cyclomatic capacity of an input variable

我正在制作一个井字游戏,我的代码比我的输入语句可以处理的更复杂。

这是我 class 中的一个项目,我做了一些研究。那里对我来说没有任何意义,所以我来到了这里。我试图让它不那么复杂,但我无法绕过它。下面的代码只是结果的一小部分。

while while_statement == 3:
  X_variables = input('where do you place your X player1. {use (X , Y)}. ')
  if X_variables == '(1 , 1)':
    game = [[1 , 0 , 0],
      [0 , 0 , 0],
      [0 , 0 , 0]]
    print('|' , 'X' , '|' , ' ' , '|' , ' ' , '|')
    print('-------------')
    print('|' , ' ' , '|' , ' ' , '|' , ' ' , '|')
    print('-------------')
    print('|' , ' ' , '|' , ' ' , '|' , ' ' , '|')
  elif X_variables == '(1 , 2)':
    game = [[0 , 0 , 0],
      [1 , 0 , 0],
      [0 , 0 , 0]]
    print('|' , ' ' , '|' , ' ' , '|' , ' ' , '|')
    print('-------------')
    print('|' , 'X' , '|' , ' ' , '|' , ' ' , '|')
    print('-------------')
    print('|' , ' ' , '|' , ' ' , '|' , ' ' , '|')

我预计此代码将继续游戏,但实际结果将是 X_variables 输入语句中的错误。

为了在输入方面具有灵活性,您的代码可以清理成如下所示。 该代码假定输入有效,您可能希望稍后处理异常

class Board:
  def __init__(self,count):
    self.count = count
    self.game = [[0 for _ in range(count)] for _ in range(count)]

  def __repr__(self):
    line = "\n"+"- "*self.count+"\n"
    return line.join(["|".join([ 'X' if y == 1 else ' ' for y in x ]) for x in self.game])

  def place(self,x,y):
    self.game[x][y] = 1


.
.
.
board = Board(5)
.
.
.
while while_statement == 3:
  row,col = map(int,tuple(input("Input here:(format row,col)").split(',')))
  board.place(row,col)
  print(board)