关于python中If Else语句范围的混淆

时间:2015-12-02 07:26:52

标签: python-3.x if-statement

def numbers_def(n):
    #######if-1#######
    if n <= 1:
        print('0 and 1 is special numbers')
        return False
    ######end of if-1######

    for x in range(2, n):
        ########if-2#######
        if n % x == 0:
            print('({}) = ({}) X ({})'.format(n, x, x))
            return False
        #####end of if-2#####


    #######else-1######
    else:
        print('({}) is a prime number'.format(n))
        return True

for x in range(0, 20):
    numbers_def(x)

这是一个简单的Python程序,用于查找0到20之间的素数,这是我在视频教程中找到的。在上面的程序if-1中,在第2行开始,并在第6行停止。 if-2位于for loop旁边 并且有一个else-1不属于上述任何if语句。如果它属于if-1,则当参数n等于4

时,它应该生成以下输出
4 = 2 X 2 
4 is a prime number

else-1如何为此计划行事?使用return boolean值的目的是什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

storm\bin>ERROR StatusLogger Invalid URL D:/stuff/storm/log4j2/cluster.xml java.net.MalformedURLException: unknown protocol: d 语句属于else循环,不属于任何for条件。

它的意思是“没有休息”。如果if循环没有以for结尾,即当所有项目都已耗尽时,则只执行其他套件。

这个成语是这样的:

break

你的程序没有真正使用for-else结构,无论如何它都在那里。