找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1799|回复: 0

[求助] 请问两段相同的代码为啥在函数内和函数外运行不正常

1

主题

3

帖子

3

积分

贫民

积分
3
yurizerowl 发表于 2018-1-28 20:52:00 | 显示全部楼层 |阅读模式
一段求101到201之间素数的代码,函数内运行结果有错,函数外结果正常,请高手指正下,谢谢。

import math
L = []


def thelist():
    leap = 1
    for m in range(101, 201):
        k = int(math.sqrt(m + 1))
        for i in range(2, k + 1):
            if m % i == 0:
                leap = 0
                break
            if leap == 1:
                L.append(m)
        leap = 1


thelist()

print(set(L))


leap = 1
L1 = []


for m in range(101, 201):
    k = int(math.sqrt(m + 1))
    for i in range(2, k + 1):
        if m % i == 0:
            leap = 0
            break
    if leap == 1:
        L1.append(m)

    leap = 1

print(L1)

>>函数里面
{131, 133, 137, 139, 143, 145, 149, 151, 155, 157, 161, 163, 167, 169, 173,
175, 179, 181, 185, 187, 191, 193, 197, 199, 101, 103, 107, 109, 113, 115,
119, 121, 125, 127}
不正确


>>函数外边
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173,
179, 181, 191, 193, 197, 199]
正确

test.py

768 Bytes, 下载次数: 2

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表