Python2.7质数生成器,无法找出我的程序出了什么问题

2024-05-15 21:49:51 发布

您现在位置:Python中文网/ 问答频道 /正文

这里没有程序员。我试图在2.7中构建一个小程序,生成一个素数,询问用户是否继续,然后继续生成素数,直到用户告诉它停止。不幸的是,我的程序根本没有输出任何东西,我不知道为什么。在

这是我的代码:

首先,检查素数的部分。我知道这部分功能正常,因为完全相同的代码适合我的素因子查找器。在

def isprime(num): #this checks the numbers to see if they're prime
    prime = True
    for i in range(2,num):
        if num/i == (num*1.0)/i:
            prime = False
            return False
            break
        else:
            prime = True
    if prime == True:
        return True

第二,遍历所有数字的部分,打印结果,并要求继续或不继续。错误一定在这里的某个地方:

^{pr2}$

Tags: 代码用户程序功能falsetruereturnif
2条回答

你的代码有点混乱,我会这样重写:

def isPrime(num):
    if num % 2 == 0:
        return True
    return False

n=1
while True:
    if isPrime(n):
        print n
        cont = raw_input("Do you want to continue? (1,0) ")
        if not bool(int(cont)):
            break
    n += 1

n应无条件递增。如果不是这样,程序在第一次遇到非质数时就会陷入无限循环。在

def primegen():
    n = 1
    while True:
        if isprime(n):
            print n
            cont = raw_input("continue? Enter Y/N")
            if cont == 'N':
                break
        n += 1

相关问题 更多 >