嵌套if;如果从真实的话如何进入下一个elif

时间:2014-04-22 11:02:29

标签: python

我正在努力学习python",我的第一个编程语言。 我试图弄清楚如何去下一个" elif"阻止来自第一个" if"块。

我写了一个简短的例子:

door = raw_input("> ")

if door == "1":
    door == "2"
elif door == "2":
    print "LOL Yeah."

在我的实际代码中,在第一个内部" if"阻止我制作另一个if \ elif块,并在其中一个我想设置一个if \ elif条件进入初始elif,即(elif door ==' 2')

在上面的简短示例中,我希望输出为:

"> 1
大声笑呀。"

对不起,如果那还不够清楚的话。

1 个答案:

答案 0 :(得分:6)

尝试以下方法:

door = raw_input("> ")

if door == "1":
    door = "2"
if door == "2":
    print "LOL Yeah."

if/elif是有条件的。这意味着如果执行第一个if - 子句,则不会到达elif

以下是一个示例,我已将您的代码包装在一个函数中,以便您可以更轻松地对其进行测试。

>>> def test_doors():
...     door = raw_input("> ")
...     if door == "1":
...         door = "2"
...     if door == "2":
...         print "LOL Yeah."
...         
...     
... 
>>> test_doors()
> 1
LOL Yeah.

请注意,您在第一个if - 子句中也有错误,您尝试将door的值设置为2。您需要删除第二个=,否则变量永远不会更改。事实上,它被评估,解释器返回False,因为它认为您想询问door是否具有值2。您可以在解释器中尝试这样:

>>> door = 1
>>> door == 2
False
>>> door == 1
True