<p>我冒昧地重写了你的整个程序,向你展示了它的一些错误和一些技巧。我已经做了没有循环,因为你从来没有使用它无论如何。。。一旦掌握了<code>while</code>循环,您可以在以后添加它,但是您确实应该回到这里的一些基本内容:</p>
<pre><code>run_attack = input("What do you do: Run/Attack\n")
if run_attack.lower() == "run":
print("""some
stuff
with
multiple
lines and GAME OVER""")
exit()
elif run_attack in ("attack", "Attack", "ATTACK"):
print("""some
stuff
with
multiple
lines""")
else:
input("Type Run or Attack...")
</code></pre>
<p>注意事项:</p>
<ol>
<li><p>对字符串使用<code>"""</code>可以在不使用多个<code>print</code>语句的情况下编写多行</p></li>
<li><p>在字符串上使用<code>str.lower()</code>使所有内容都易于比较,因为您只需将它与每个字符串的小写版本进行比较。但是对于<code>attack</code>,您可以注意到我使用了不同的包含测试,没有多个条件。不管哪种方法在这里都管用。</p></li>
<li><p>与这里的另一个答案(以及许多注释)一样,您应该只使用<code>exit()</code>完全退出程序,或者只使用<code>break</code>退出循环并继续执行整个循环下的其他代码。</p></li>
<li><p>重写循环时,使用<code>while number_of_turns < 10</code>这样的条件,不要忘记将<code>1</code>添加到每个循环的圈数中,否则该条件总是</strong><code>True</code>,并且您将有一个无限循环。。。</p></li>
</ol>
<p>实际上,我很惊讶这段代码与您期望的行为有任何相似之处,我的建议是回到python的基础,学习循环、字符串方法和基本命令。剩下的已经在这里的另一个答案中说了(坦白地说,这比我的好),只是想补充一些想法。你知道吗</p>