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

时间:2019-04-09 11:49:29

标签: python cyclomatic-complexity

我正在制作井字游戏,并且我的代码比我的输入语句所能处理的复杂。

这是我班上的一个项目,我做了一些研究。对我而言没有任何意义,所以我来到了这里。我试图使其变得不那么复杂,但是没有什么可以解决的。波纹管代码只是结果的一小部分。

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输入语句中的错误。

1 个答案:

答案 0 :(得分:0)

您的代码可以清理干净以确保输入方面的灵活性。 该代码假定输入有效,您以后可能要处理异常

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)