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")

请原谅我,因为我刚刚开始使用 Stack Over Flow,我不知道如何在此处显示语法突出显示。 但是看看上面的代码,当我调用函数并将整数(数字 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!')

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

>如果for循环没有中断,就会发生else见文档

在上面的程序中,当超过range限制时for循环的条件失败时,else语句被执行..即(for循环检查num是否可以被n整除,如果它是可整除的,则返回"Not a Prime Number"...for循环条件结束后else将执行该部分。

最新更新