2014-12-25 5 views
-3

В этом коде я пытаюсь вызвать функцию. С другой стороны, он не работает так, как я хочу, чтобы он работал, потому что он остается в цикле, хотя я меняю состояние петель options_secondscenario [0] от 0 до 1 в конце цикла. То, что я хочу сделать, это перейти к функции third_scenario(). Заранее спасибо.Никогда не заканчивается Пока

options_secondscenario = ['Whats going on out there?', 'So what now?'] 

def third_scenario(): 
    print "This is the third scenario" 
    choiceselection2 = raw_input("> ") 
    if choiceselection2 == 1: 
     print "stay" 
    else: 
     print "leave" 

def dead(): 
    print "You are dead" 
    exit() 

def second_scenario(): 
    print "Conversation 1" 
    print "Conversation 2" 
    print "Conversation 3" 
    print options_secondscenario 
    choices = options_secondscenario[0] 
    while choices == options_secondscenario[0]: 
     choiceselection = raw_input("> ") 
     if choiceselection == 'Whats going on out there?': 
      print "Conversation 4" 
     elif choiceselection == 'Whats up': 
      print "Nothing"   
     elif choiceselection == 'what is that': 
      print "I dont know" 
     elif choiceselection == 'is': 
     dead()   
     else: 
     third_scenario() 
    choices == options_secondscenario[1] 

second_scenario() 
+0

Что вы сравниваете с выбором в этой строке 'while choice ==:'? Это опечатка? – kartikg3

+0

И эта строка: 'выборы == options_secondscenario [1]'. Вы, вероятно, хотели использовать оператор присваивания «=» вместо оператора сравнения «==» – kartikg3

+0

Исправлено. Да, это была опечатка, когда я скопировал, однако это не причина проблемы. Когда я использую оператор-ассистент здесь, а варианты = options_secondscenario [0], он дает мне ошибку синтаксиса. –

ответ

2

Вы пытаетесь изменить choices вар после цикла (проверить отступы). Таким образом, цикл while никогда не получает возможности достичь этого утверждения.

Кроме того, вы используете оператор сравнения == вместо оператора присваивания = так:

choices = options_secondscenario[1]

Эта линия должна быть где-то внутри вашего цикла. Проверьте ваш отступ.

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