战点 2023-03-13 20:38 采纳率: 26.9%
浏览 37
已结题

Python素数问题

def tong(n: int):
#编写一个 Python 函数程序,获取用户输入的正整数 n,统计从 0-n 之间的最大的 10 个素数列表,以从小到大排序。
    a = [2]#最小的素数2
    flag = ""#标志变量
    for i in range(3, n+1):
        j = 2
        while j < i:
            if i % j == 0:
                flag = 0
                break
            else:
                j += 1
        if flag != 0:
            a.append(i)
    print(a[:-11:-1])#输出后十位


N = eval(input())
tong(N)



img

????????????????????

  • 写回答

3条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2023-03-13 20:55
    关注

    flag变量位置不对,修改如下,记得采纳哦!

    def tong(n: int):
        a = [2]
        for i in range(3, n+1):
            flag = 1
            for j in range(2, i):
                if i % j == 0:
                    flag = 0
                    break
            if flag == 1:
                a.append(i)
        print(sorted(a)[-10:])  # 从小到大排序后输出后十位
    
    
    N = eval(input("请输入正整数n:"))
    tong(N)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 3月13日