我是Python初学者。我发现,else
在for
-else
和while
-else
是完全没有必要的。因为for
和while
最终将运行到else
,所以我们可以改用常规行。
例如:
for i in range(1, 5):
print i
else:
print 'over'
和
for i in range(1, 5):
print i
print 'over'
是相同的。
那么,为什么Python的已else
在for
-else
和while
- else
?
您对for / else的语义是错误的。else子句仅在循环完成后才运行,例如,如果未遇到break语句。
典型的for / else循环如下所示:
for x in seq:
if cond(x):
break
else:
print "Didn't find an x I liked!"
将“ else”与循环主体中的所有“ if”配对。您的样本是相同的,但是混合使用“ break”语句,则不是。
对相同想法的详细说明:http :
//nedbatchelder.com/blog/201110/forelse.html
问题内容: 我了解此构造的工作原理: 但是我不明白为什么else在这里使用它作为关键字,因为它表明所讨论的代码仅在for块未完成时才运行,这与它的工作相反!无论我如何考虑,我的大脑都无法从for陈述到else障碍的无缝发展。对我来说,还是更有意义(我正在尝试训练自己这样阅读)。 我想知道Python编码人员是如何在头脑中读取这个结构的。也许我缺少使这些代码块更容易理解的东西? 问题答案: 即使是经
问题内容: 我知道该怎么做,以及它如何与while循环配合使用,但是while循环代码是否相同,无论do是否存在? 问题答案: 考虑以下: 和 第二种形式至少执行一次,然后检查!为此,您必须编写一个循环:
问题内容: 当然,这在Java(到目前为止)中是不可能的语句,但是理想情况下,我希望实现它,因为它是许多迭代的核心。例如,第一次创建它时,它被称为650,000+次。不幸的是,现实是我的实际代码没有内部循环。因此,它将同时通过和,同时浪费命令和时间。 之后,我还将它放在另一个循环中,在该循环中,由于已创建数据,它仅执行集合,并且在许多其他情况中都被嵌套,因此这是一个漫长的过程。 有什么想法或理论吗
所以程序应该是:-获取用户的输入,直到用户键入“n或N”以显示停止的标志-当用户键入“n或N”时,程序正数和负数和。 还有我得到的 这个错误信息,我不知道是什么问题。提前谢谢你!
问题内容: 我想知道是否可以使用或嵌套调用: 这是一个例子: 我放了两个s来显示我用来检索JSON的评论的ID。我收到第一个警报的ID,然后是第二个的“测试”,但没有显示第三个警报。为什么不? 这是JSON的示例: 问题答案: 问题: 不要在循环内创建函数 … 函数的每次调用实际上都引用内存中的相同副本。每次for循环运行时都会创建一个新的闭包,但是每个闭包都捕获相同的环境。因此,对(异步函数)的
我正在写一份简单的银行申请书。在我的程序中,我使用了while循环。如果用户输入错误,它将再次提示用户输入。 现在的问题是我无法编写任何语句。它总是显示错误(比如:unreachable语句),最终该行不会被打印出来。 我该怎么解决这个问题? [我之所以需要使用,是因为我想打印用户输入的所有信息。] 我正在从事的项目: