python中的Else条件

2024-04-27 00:17:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如果没有if-in-nested-if条件,如何使用else。我在pyCharm编辑器上尝试过这段代码。你知道吗

代码:

print("Let's find the prime between the interval given...")

start = int(input("\n Enter the Start Point : "))
end = int(input("\n Enter the end Point : "))

for i in range(start, end + 1):
    if i > 1:
        for j in range(2, i):
            if i % j == 0:
                break
#            j = j + 1
        else:
            print(i)
#    start = start + 1

print("Done with checking...")

问题:

我的结果出来了,但我想详细了解代码中的else条件,即怎样才能只使用else。你知道吗


Tags: the代码inforinputifrange条件
1条回答
网友
1楼 · 发布于 2024-04-27 00:17:21

我想你误解了for/elseif/else检查下面的解释for/else

在python中,循环还有一个我们大多数人都不熟悉的子句。else子句在循环正常完成后执行。这意味着循环没有遇到break语句。一旦你知道在哪里使用它们,它们就非常有用。你知道吗

这是for/else循环的基本结构:

for item in container:
    if search_something(item):
        # Found it!
        process(item)
        break
else:
    # Didn't find anything..
    not_found_in_container()

考虑一下this我从官方文档中获取的简单示例:

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, 'equals', x, '*', n/x)
            break

它为2到10之间的数字寻找因子。现在是有趣的部分。我们可以添加一个额外的else块,它捕获没有因子的数,因此是素数

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print( n, 'equals', x, '*', n/x)
            break
    else:
        # loop fell through without finding a factor
        print(n, 'is a prime number')

相关问题 更多 >