2016-05-30 3 views
-2

私は中断した内側のループだけを終了したいと思います。継続作業を使用して、しかし、私は休憩が内側のループを終了すると考えていたが、それは全体のプログラムを終了するようだ。休憩とは何ですか?内側のループのpythonを中断する

counter = 0 

while counter == 0: 

    print "You enter a dark room with two doors. Do you go through door #1 or door #2?" 

    door = raw_input("> ") 

    if door == "1": 
     print "There's a giant bear here eating a cheese cake. What do you do?" 
     print "1. Take the cake." 
     print "2. Scream at the bear." 

     bear = raw_input("> ") 

     if bear == "1": 
      print "The bear eats your face off. Good job!" 
     elif bear == "2": 
      print "The bear eats your legs off. Good job!" 
     else: 
      print "Well, doing %s is probably better. Bear runs away." % bear 
      break 

    else: 
     print "You stumble around and fall on a knife and die. Good job!" 
+1

'if'文はループではないので、' break'は外側の 'while'ループにのみ適用されます。 – Marius

+0

[ここ](http://www.tutorialspoint.com/python/python_break_statement.htm)をチェックすると、 'if'はループではないので、' break'は 'while'全体を破ります。 – co2y

+0

これはかなり病的です。 – BradTheBrutalitist

答えて

2

ループではない「場合」、それは、あなたが複数のを持っている場合でも、彼らは声明で、破る...声明で、あなただけのコードで一つのループを持っている、と休憩はそれを終了しています"if"ステートメントではなくwhileループから "break"します。

+0

入手しました。最初の条件が満たされていてループのために間違っていたので、ステートメントが継続的に実行されるので、私は混乱しました。 – Dan

+0

問題なし、コードが多いほど、良い=) – glls

1

breakは - あなたの場合

が、それはやっている正確に何のthats(ループ全体 声明過去)に最も近い外側のループの外にジャンプします。 ifはループ文ではなく、その制御文です。

ループが1つしかありません。whileです。

関連する問題