多条件虽然循环
问题描述:
我正在制作一个简单的猜谜游戏,并遇到了一些问题。首先,我是Python新手,除了一些批处理外,这是我的第一个编程语言。 当我尝试执行以下代码时,即使条件为真,elif
和else
也不会与之交互。它似乎总是回应if
,因为它总是如此。多条件虽然循环
#Calder Hutchins 3-1-14
#Guess Game
import time
playGame = ""
guessTry = 3
print "Would you like to play a game? (y/n)"
while playGame != "y":
playGame = raw_input(">")
if playGame == "y" or "n":
print "Great! Let's get started!"
print "Answer the following questions correctly to level up!"
elif playGame == "n":
print "Very well...."
time.sleep(2)
quit()
else:
print "Invalid answer, please re-type."
print "end of the while, test."
此外,我想知道流量控制,因为它对我来说是新的。有没有办法让它更有效率,我粘贴的代码。
编辑:这不是重复的......如果你们有些人会花时间看看我的问题,你会发现它不是。在Stack Overflow上看到这么多次发生,我感到非常失望。
答
电脑很笨,你需要明确说明你想要评估什么。
if playGame == "y" or playgame == "n":
在你的版本将始终为true,因为当两个字符串进行比较,将得到评估,以True
。 str
或str
永远是True
>>> bool('a' or 'c')
True
除了这个我想你是不是很了解使用if/elseif的。我建议看看http://docs.python.org/2/tutorial/controlflow.html – Hugoagogo
好的,我会看看它,我正在使这个脚本更多地学习这个概念。 –
在这个例子中,我认为如果if语句的计算结果为false,那么if语句简单地说就是playGame ==“y”,如果计算结果为false,它将移动到其他情况,所以你非常接近。 – Hugoagogo