【问题标题】:beginner python: need help overwriting list values for easy game初学者python:需要帮助覆盖列表值以轻松玩游戏
【发布时间】:2020-01-29 14:40:11
【问题描述】:

我作为新手正在构建我的第一个井字游戏,在尝试替换 real_board[] 中的 # 时遇到很多错误。这是我的第一个编码语言,所以我确信我在这里犯了一些愚蠢的错误。我确信有更好的方法来实现这一点,所以我愿意接受所有建议。

def display_board(board):
    print('--------')
    print('|'+board[7]+ '|' +board[8] +'|' +board[9]+'|')
    print('--------')
    print('|' +board[4]+ '|'+board[5]+'|' +board[6]+'|')
    print('--------')
    print('|' +board[1]+ '|'+board[2]+'|' +board[3]+'|')
    print('--------')

real_board=['#','#','#','#','#','#','#','#','#','#']

player_moves=int(input('choose a number from 1 to 9: '))
if (player_moves)<1 or (player_moves)>9:
    print('unacceptable range')
elif (player_moves)==1:
    real_board[1]=='X'
    print(display_board(real_board))

到目前为止,我得到了这个输出:

choose a number from 1 to 9: 1
--------
|#|#|#|
--------
|#|#|#|
--------
|#|#|#|
--------
None

我知道我没有考虑大于 1 的数字,但我正试图首先克服这个最初的障碍。

【问题讨论】:

  • 请修正你的缩进。
  • 几个注意事项:数组从 0 开始,所以使用real_board[0] 访问左上角的框。其次,display_board打印板子,所以不要调用print(display_board()),直接使用display_board()即可。
  • 你写了real_board[1]=='X',这是比较,不是分配。将== 替换为=

标签: python list function


【解决方案1】:

您使用的是相等运算符 (==) 而不是赋值运算符 (=):

real_board[1]=='X'

应该是:

real_board[1]='X'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 2021-01-09
    相关资源
    最近更新 更多