2014-12-24 2 views
0

Я просматриваю книгу, которая в этот момент в книге требует от меня сделать небольшую видеоигру, которая вызывает функции, использует if, while - по существу, все вещи до сих пор в книге. Но, я получаю эту ошибку в этой части моего кода:Проблемы с ошибками синтаксиса и отступов

Код изменен, получите новую ошибку.

File "ex35_study.py", line 24 
third_scenario_code() 
IndentationError: unindent does not match any outer indentation level 

Вот мой код:

 options_thirdscenario_actions = ['Examine the door', 'Try to force it'] 

def third_scenario_code(): 
    print "Let me try to crack this thing up, says Lars as he starts to type in the panel. You hear the sounds of the fight out there, there's not much time left. " 
    print "After receiving several commands a window with a code pop ups. " 
    print codefile.read() 


def third_scenario(): 
    print "You two get out of the cell and approach to the exit, a long corridor is ahead of you, flashing red lights indicate an state of emergency, you must evacuate." 
    print "As soon as you two approach to the door, it closes" 
    print "Crap it must be the emergency system, we have been detected" 
    next = raw_input("What do you do> ") 
if next == 'Examine the door': 
    print "A small panel comes out, requires to enter a code of words" 
    third_scenario_code() 
elif next == 'Try to force it': 
    print "You try to force the door with no result" 
    print options_thirdscenario_actions  
    next2 = raw_input("What else do you do> ") 
    if next2 = 'Examine the door' 
     third_scenario_code() 
else: 
    print "You already did that" 

Я получаю подобную ошибку на всю программу, и я подозреваю, что это что-то делать с отступом, но я попробовал каждый предложение, которое я вижу в google без плодотворного результата. заранее спасибо.

+0

'third_scenario_code()' не следует отступать так много –

+0

Как вы можете видеть, строки 'third_scenario_code' имеют неправильный отступ. Никогда пользовательские вкладки и всегда 4 пробела для отступов. Настройте свой редактор, чтобы помочь вам. – Daniel

ответ

0

Его из-за отступов third_scenario_code() вам необходимо написать его под номером print.

изменить следующим образом:

if next == 'Examine the door': 
      print "A small panel comes out, requires to enter a code of words" 
       third_scenario_code() 

к:

if next == 'Examine the door': 
      print "A small panel comes out, requires to enter a code of words" 
      third_scenario_code() 
+0

Сделал то, что вы только что упоминали, однако я получаю новую ошибку. Я только получил эти два типа ошибок через весь код, честно говоря, я понятия не имею, как его решить. –

+1

@LittleFoot так теперь из-за смешивания пробелов и вкладок, попробуйте использовать один из них для вашего кода! – Kasramvd

+0

Вещь - я нажимаю клавишу пробела 4 раза, и я все еще получаю ошибку. Я также модифицировал Notepad ++ для пробелов –

1

Вы отсутствующими двоеточием после одного из if условий и должны выстраиваться вещи, которые являются такими же сфера вверх, то есть печать после вызов функции, но вы также можете смешивать пространства и вкладки. Рекомендуется всегда использовать 4 пробела, а не вкладки, и большинство программистов могут быть настроены для этого.

Я также предложил бы получить pylint и использовать его. Это поможет вам обнаружить множество потенциальных ошибок и поможет вам развить хорошие привычки.

Смежные вопросы