缩进错误:意外的缩进 - Python 2.7

2 投票
2 回答
23216 浏览
提问于 2025-04-18 08:54

我正在用Python为我的作业制作一个井字棋游戏,但我不明白为什么会出现一个识别错误。

这是我的代码:

import sys
import random

def draw(board, x, y):
    new_x = 0
    for line in xrange(y):
        for line2 in xrange(new_x, x):
            print "|", board[line2], "|",
        print
        new_x += y
        x += y

def player_team():
    choice = raw_input("Choose X or O... ")
    if choice.upper() == 'X':
        player = 'X'
        computer = 'O'
    elif choice.upper() == 'O':
        player = 'O'
        computer = 'X'
    else:
        player_team()
    return player, computer

if __name__ == '__main__':
    cord = 3
    board = [' * '] * cord**2
    draw(board, cord, cord)
    player, computer = player_team()

错误的具体内容是:

File "chess.py", line 29
  player, computer = player_team()
  ^
IndentationError: unexpected indent

2 个回答

3

你在代码里混用了制表符和空格。这样做可不好;Python会把制表符当作像记事本那样的处理方式,把它看作是足够的空格,直到下一个8个空格的缩进级别。

要解决这个问题,把所有的制表符换成4个空格。还有,建议在你的编辑器里开启“显示空白字符”的功能,并用-tt这个选项运行Python(在Python 3中默认就是这样),这样Python就会告诉你哪些地方混用了制表符和空格,可能会造成困惑。

9

你在代码的最后一行用了制表符(Tab),而不是空格(Space)。这个在你编辑帖子的时候可以看到。只要把它换成四个空格,这个错误信息就不会再出现了!

撰写回答