Loops 质数检查器

Loops 质数检查器,loops,python-2.7,Loops,Python 2.7,我必须使用python开发一个程序,它将一系列正整数作为输入,并输出每个正整数是否为素数。如果输入一个负数并打印该数字,则程序应终止。一不是质数。当我输入一个负数,它给出一个素数时,我的程序不会运行 num=int(input('Enter:')) for num in range (1,num+1): for i in range(2,num): if (num%i==0 or num==1): print num break;

我必须使用python开发一个程序,它将一系列正整数作为输入,并输出每个正整数是否为素数。如果输入一个负数并打印该数字,则程序应终止。一不是质数。当我输入一个负数,它给出一个素数时,我的程序不会运行

num=int(input('Enter:'))
for num in range (1,num+1):
 for i in range(2,num):
        if (num%i==0 or num==1):
            print num
            break;

 else:
        print num, "is a prime number"

这检查负数,也检查素数比循环快得多

import sys
import math


def check_prime(number):
    if (math.factorial(int(number) - 1) + 1)%int(number) == 0:
        print "Number is prime"
    else:
        print "Not Prime"

number = raw_input("Choose a positive integer")

if not number.isdigit() or number < 1:
    sys.exit()
else:
    check_prime(number)

提示:您在哪里检查它是否为负数?请用您正在使用的编程语言标记问题。@BurhanKhalid这是我遇到的一个问题。我不知道该把代码放在哪里。看看你的问题陈述,如果给出负数,程序应该终止。在做其他事情之前,你可以用另一种方式来阅读,检查数字是否为负数,如果为负数,请退出。这将有助于你理解把支票放在哪里。@BurhanKhalid非常感谢你。它确实奏效了。但是我仍然有一个问题,第一个数是素数,威尔逊定理对于测试素数并不实用,除非这个数很小。