我正在制作一个简单的猜谜游戏,并遇到了一些问题。首先,我是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上发生这么多次非常令人失望。答案 0 :(得分:0)
计算机很笨,您需要明确说明要评估的内容。
if playGame == "y" or playgame == "n":
在您的版本中,它将始终评估为true,因为当比较两个字符串时,它将被评估为True
。 str
或str
始终为True
>>> bool('a' or 'c')
True