python棋盘列表_Python棋盘游戏网格[数组和列表问题]

您的代码有几个错误-请参阅内联注释:grid = [[' - - - '], ['| 1 | 2 | 3 |'],

[' - - - '], ['| 4 | 5 | 6 |'],

[' - - - '], ['| 7 | 8 | 9 |'],

[' - - - ']]

def player():

x = 0 # not used

y = 0 # not used

player1 = input("Enter Player1 move : ")

for i in grid: # each i is a list containing 1 string

for j in i: # each j is one string

if j == player1: # only ever true if playerinput is ' - - - '

# or '| 1 | 2 | 3 |' or '| 4 | 5 | & |' or ....

grid[1][1] = 'X' # never hit.

您应该将代码拆分为更小、更易于理解的部分:def freeSpace(l,pos):

"""Returns True if l[pos] is inside the list and currently of type int - else False."""

return (0 <= pos < len(l)) and isinstance(l[pos],int)

def setPlayer(l,player,pos):

"""Checks if l[pos] is valid to be set to a players 'X' or 'O' string.

If, set it and return True, else return False."""

if freeSpace(l,pos):

l[pos] = player

return True

return False

def printList(l):

"""Pretty prints a list of 9 items in a grid with some decor around it."""

print("\n - - - ")

for row in (l[i:i + 3] for i in range(0,9,3)):

print("|",end="")

for e in row:

print("{:^3}|".format(e),end="")

print("\n - - - ")

def no_win(l):

# TODO - check for win, return False and a win message mayhap

return True

主要游戏:

^{pr2}$

输出:- - -

| 1 | 2 | 3 |

- - -

| 4 | 5 | 6 |

- - -

| 7 | 8 | 9 |

- - -

Your turn: X

Which position? Applepie

- - -

| 1 | 2 | 3 |

- - -

| 4 | 5 | 6 |

- - -

| 7 | 8 | 9 |

- - -

Wrong move - try again: X

Which position? 99

- - -

| 1 | 2 | 3 |

- - -

| 4 | 5 | 6 |

- - -

| 7 | 8 | 9 |

- - -

Wrong move - try again: X

Which position? 1

- - -

| X | 2 | 3 |

- - -

| 4 | 5 | 6 |

- - -

| 7 | 8 | 9 |

- - -

Your turn: O

Which position? 1

- - -

| X | 2 | 3 |

- - -

| 4 | 5 | 6 |

- - -

| 7 | 8 | 9 |

- - -

Wrong move - try again: O

Which position? 5

- - -

| X | 2 | 3 |

- - -

| 4 | O | 6 |

- - -

| 7 | 8 | 9 |

- - -

Your turn: X

Which position? # etc.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值