break的问题

来源:3-26 综合训练:判断1000内的质数

公子正

2019-06-28 23:35:57

老师,我如果在程序中不使用break,对整个程序有什么影响么?

另外   

j=2的时候,i<num这个条件不成立,是如何进行is_prime==True的?

j = 2
while j <= 1000:
    num = j
    i = 2
    is_prime = True
    while i < num:
        if num % i == 0:
            is_prime = False
            break
        i += 1
    if is_prime == True:
        print("{}是质数".format(num))
    else:
        print("{}是合数".format(num))

    j += 1


写回答

1回答

时间,

2019-06-30

同学,你好。

1、不使用break会一直执行内层while循环,直到条件不成立。使用break,会在第一次条件成立时,修改is_prime的值,使用break退出内层循环,即该数为合数。

2、当内层循环不成立时,is_prime的初始值为True,if条件成立,进行相应的输出。然后执行j+=1,执行外层循环,此时,is_prime重新赋值为True,继续执行内层循环。

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

0 学习 · 8160 问题

查看课程