Python 嵌套if;如何从true if继续到下一个elif
我正在“艰苦地学习python”,这也是我的第一种编程语言。 我试图找出如何从第一个“如果”块中转到下一个“elif”块 我写了一个简短的例子:Python 嵌套if;如何从true if继续到下一个elif,python,Python,我正在“艰苦地学习python”,这也是我的第一种编程语言。 我试图找出如何从第一个“如果”块中转到下一个“elif”块 我写了一个简短的例子: door = raw_input("> ") if door == "1": door == "2" elif door == "2": print "LOL Yeah." 在我的实际代码中,在第一个“if”块中,我创建了另一个if\elif块,在其中一个块中,我想设置一个if\elif条件,该条件指向初始的elif,即(el
door = raw_input("> ")
if door == "1":
door == "2"
elif door == "2":
print "LOL Yeah."
在我的实际代码中,在第一个“if”块中,我创建了另一个if\elif块,在其中一个块中,我想设置一个if\elif条件,该条件指向初始的elif,即(elif door='2')
在上面的简短示例中,我希望输出为:
“>1哈哈,是的。” 如果这不够清楚,我很抱歉。请尝试以下操作:
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
放下
el
,如果,只需使用第二个elif
表示else if
,而else
表示仅在发现前一个条件不为真时才执行。当输入if/elif/else
语句中的一个分支时,它的其他分支都不会被输入。这是一个初学者的问题,写得比较好,尽管这里的大多数读者回答起来很繁琐。我觉得在没有暗示他如何改进它的情况下就否决它是不合适的@l4mpi:为什么不给出一个实际的答案?@mbschenkel这是一个缺乏研究的非常低级的问题(例如,阅读if
文档),我发现不适合对其进行升级投票——在我看来,更不适合根据OPs元数据(如年龄/代表/性别)而不是问题的实际内容进行投票。阅读向上/向下投票箭头的描述,如果您真的想说明这个问题是经过充分研究的、有用的和清楚的,请重新考虑。至于我为什么没有发布答案,我不是为代表而来,也不想通过发布“官方”答案来推广这样的问题。。。