Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 多条件While循环_Python_While Loop_Conditional Statements - Fatal编程技术网

Python 多条件While循环

Python 多条件While循环,python,while-loop,conditional-statements,Python,While Loop,Conditional Statements,我正在做一个简单的猜谜游戏,遇到了一些问题。首先,我是Python新手,这是我除了批处理之外的第一种编程语言。 当我尝试执行以下代码时,即使条件为true,也不会与elif和else交互。它似乎总是对假设做出反应,好像它总是真实的 #Calder Hutchins 3-1-14 #Guess Game import time playGame = "" guessTry = 3 print "Would you like to play a game? (y/n)" while playGame

我正在做一个简单的猜谜游戏,遇到了一些问题。首先,我是Python新手,这是我除了批处理之外的第一种编程语言。 当我尝试执行以下代码时,即使条件为true,也不会与elif和else交互。它似乎总是对假设做出反应,好像它总是真实的

#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."
我还想知道流量控制,因为它对我来说是新的。我粘贴的代码,有没有办法让它更有效


编辑:这不是重复的。。。如果你们中的一些人真的花时间看看我的问题,你们会发现它不是。我发现在堆栈溢出上多次出现这种情况非常令人失望。

计算机是哑的,您需要明确说明要评估的内容

if playGame == "y" or playgame == "n":
在您的版本中,它将始终计算为true,因为当比较两个字符串时,它将计算为true。str或str总是正确的


在这个例子中,我想你想要的if语句是playGame==y如果这个值为false,程序将移动到下一个elif语句,如果这个值为false,它将移动到else语句,所以你已经非常接近了。保持while循环,尝试使用break,它将退出一个级别的循环我在重新打开队列中看到了这篇文章,我认为与其指责其他人错误地重复关闭你的文章,不如详细描述一下你和另一篇文章的区别。我看不出有任何理由仅仅因为你确认它不是一个复制品就重新打开它。在花时间看了你的问题之后,它看起来确实是一个复制品。问题的核心是if playGame==y或n:不是正确的编写方法。
>>> bool('a' or 'c')
True