2011-11-26 36 views
0

可能重複:
IndentationError: unindent does not match any outer indentation level我沒有看到這裏的錯誤:蟒蛇

這是我的代碼,我已經通過找了幾個小時。這可能是Lion的一個python bug。我正在使用Python 2.7。

import os, pygame 
from pygame.locals import * 
import spritesheet 
import sound 
from map import Level 
level = Level() 
level.loadFile("level.map") 
pygame.init() 
screen = pygame.display.set_mode((640, 480)) 
background = level.render(spritesheet.spritesheet("spritesheet.bmp")) 
pygame.display.set_caption('Game') 
character=spritesheet.spritesheet("spritesheet.bmp").image_at(pygame.rect.Rect(64, 64, 32, 32), colorkey = (255, 255, 255)) 
#Create The Backgound 
background.blit(character, (304, 224)) 
screen.blit(background, (0, 0)) 
clock = pygame.time.Clock() 
level.setTile(1, 1, "3") 
pygame.display.flip() 
xoffset=0 
yoffset=0 

while True: 
    background = level.render(spritesheet.spritesheet("spritesheet.bmp")) 
    background.blit(character, (304, 224)) 
    screen.blit(background, (0+xoffset, 0+yoffset)) 
    pygame.display.flip() 
    for event in pygame.event.get(): 
     if event.type==QUIT: 
      exit() 
     elif event.type == KEYDOWN: 
      if event.key == K_w: 
       yoffset-=5 
      if event.key == s: 
       yoffset+=5 

它返回:

File "main.py", line 30 
    elif event.type == KEYDOWN: 
         ^
IndentationError: unindent does not match any outer indentation level 

我找不到什麼毛病。

回答

5

確保您沒有混合製表符和空格進行縮進。你的編輯可能認爲你的製表符是一個值(4?),並且python解釋了其他一些值;如果你的一些行用空格縮進,其他行用製表符縮進,你的編輯器會在python解釋器不同意的時候顯示排列的內容。

+0

沒關係!!!!!!! – user1031149

+0

@ user1031149,如果您發現錯誤,請將其作爲回答,以便其他人知道錯在哪裏 – bdonlan

+0

請user1031149,如果它爲您解決了問題,請將其標記爲首選答案 – jsalonen

1

你的代碼的搭配看起來是正確的。通過運行$ python -t yourcode.py確認空格和製表符沒有混在一起。這會打開標籤保姆。