首页 > 解决方案 > python上缩进代码块的解释

问题描述

def prime_check(num):
    """
    Function to check if a number is prime
    """
    for n in range(2,num):
        if num%n == 0:
            print(num, "is not prime")
            break
        else:
            print(num, "is not prime")

请原谅我,因为我刚开始使用堆栈溢出,我不知道如何在此处显示语法突出显示。但是看上面的代码,当我调用函数并将整数(数字 2)传递给函数时,没有结果,当我传入数字 21 时,它说 21 是质数,这是错误的。但是,当使用 udemy 的代码时,这与我的有点相似(缩进除外),该函数工作正常。我需要帮助了解缩进差异及其工作原理。udemy 代码如下所示。

def is_prime(num):
    '''
    Naive method of checking for primes. 
    '''
    for n in range(2,num):
        if num % n == 0:
            print(num,'is not prime')
            break
    else: # If never mod zero, then prime
        print(num,'is prime!')

注意我自己的代码和他们的代码之间的缩进差异。请我需要了解其中的区别。帮助!!!!!!!!!!

标签: python

解决方案


else如果for循环没有中断,就会发生。请参阅文档


推荐阅读