<p>第17行的新行字符(\n)需要包含在字符串中(即,它需要在引号中)-这就是导致特定错误消息的原因。你知道吗</p>
<p>此外,第6行的<code>break</code>语句需要缩进。除此之外,它应该工作-注意,您需要在终端中键入<code>'a'</code>作为输入以使其工作-您可以使用<code>raw_input</code>,然后只需键入<code>a</code></p>
<pre><code>while True:
d1a = raw_input ("Which do you inspect:\na) The back door?\nb) The basement?\n")
# check if d1 is equal to one of the strings, specified in the list
if d1a in ['a', 'b']:
# if it was equal - break from the while loop
break
# process the input
if d1a == "a":
print ("You approach the door.\n\
'Who's out there?'\n\
No one answers.\n\
You start to creep back into the kitchen but then there's tapping on the window.\n\
'Who's there? I'm warning you!'")
while True:
d2a = raw_input ("What do you do:\na) Run outside to see who's there?\n\
b) Run back to your bedroom and hide underneath your bed?\n")
if d2a in ['a', 'b']:
break
if d2a == "a":
print ("You run out the door with a knife from the kitchen.\n\
You swing your head back and forth but see no one outside.")
elif d2a == "b":
print ("You run up the stairs.\n\
There is a feeling of someone's hand on your back.\n\
It makes you run faster, not looking back.")
elif d1a == "b":
print ("You approach the basement.\n\
You go to turn on the light but it's flicking.\n\
You walk down the stairs. It's dim.\n\
You trip!\n\
'Ugh...'\n\
There's rustling under on the couch but you can't see what's on it.")
while True:
d2b = raw_input ("What do you do:\na) Flash your flashlight on the couch?\n\
b) Ignore it and head back upstairs?")
if d2b in ['a', 'b']:
break
</code></pre>