| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 sayangrtg 于 2021-3-20 05:23 编辑  
 
鱼油们好。 在做017讲最后一题求0-10 的素数时, 我想求比如说0-100 的素数,然后又想用for循环。 
我的代码如下: 
for i in range(2,100): 
    mid = i // 2 + 2 
    for j in range(2, mid): 
        for k in range(2, mid): 
            if i == j * k: 
                print(i, "=", j, "*", k) 
                break 
                break 
    if not i == j * k: 
        print(i, "is not a sushu") 
 
run出来是以下这样,两点我不懂: 
1. 为什么打印4 = 2*2之后 还会打印4 不是素数,这时候不是应该 i == j * k吗? 
2. 为什么打印完8= 2*4之后还会打印8 = 4*2?, 我已经写了两个break来跳出两层for循环呀? 
谢谢! 
 
2 is not a sushu 
3 is not a sushu 
4 = 2 * 2 
4 is not a sushu 
5 is not a sushu 
6 = 2 * 3 
6 = 3 * 2 
6 is not a sushu 
7 is not a sushu 
8 = 2 * 4 
8 = 4 * 2 
8 is not a sushu 
9 = 3 * 3 
 |   
 
 
 
 |