在python中正确使用continue

时间:2018-01-30 12:06:37

标签: python-3.x

num = int(input("Enter the number:"))
Max_div = int(num / 2)
print("------------Max_div:",Max_div)
div = int(2)
counter = 1
while div <= Max_div:
    if num % div  == 0:
       break
    else:
       counter = counter + 1
       print("before the flood",counter)
       continue
       print("after the flood")

    print("div:/tMax_div",div,Max_div)
    div = div + 1

print("Div out of loop",div)    
div = div - 1
if div == Max_div:
   print("Prime")
else:
   print("Not Prime")

如果我删除else块(while循环),这段代码(查找素数)工作正常。不知道继续声明在这里做了什么。它到底在哪里被卡住了? 假设缩进是正确的!

1 个答案:

答案 0 :(得分:0)

代码可以是这样的:

num = int(input("Enter the number:"))
Max_div = int(num / 2)
print("------------Max_div:",Max_div)
div = int(2)
while div <= Max_div:
    if num % div  == 0:
        break
    else:
        div = div + 1
        print("before the flood",div)  #
        continue
        print("after the flood")  #

print("div:/tMax_div",div,Max_div)  #
div = div + 1    #
print("Div out of loop",div)    #
div = div - 1    #
if div > Max_div:
    print("Prime")
else:
    print("Not Prime")

请注意,您可以删除末尾带#的所有行,程序仍能正常运行。 continue表达式终止循环的迭代,但与break语句不同,循环继续进行下一次迭代。