python编写求质数的文章(适合学过编程6个月~1年11个月的人(中低级))

一.概念解释:

质数,指除了能被1和它本身以外,不能被其它正整数整除

二.编写代码:

2-1.让用户输入:

a=float(input("输入起始值(不超过20000)"))
b=float(input("输入终止值(起始值<=终止值<=20000)"))

说明:此段代码让用户设置参数

2-2.检测输入:

if(a<2)or(a>b)or(a%1!=0)or(b%1!=0)or(b>2000):
    print("错误")
else:
    a=int(a)
    b=int(b)

说明:由于不合法的情况包括以下5种:起始值小于2,起始值大于终止指,a不是整数,b不是整数,终止值大于20000,所以只要满足上述任意一条,就输出"错误",否则,将两个数皆转为整数

2-3.逐个判断:

    for check in range(a,b+1,1):
        flag=1
        for i in range(2,check//2+1):
            if check%i==0:
                flag=0
                print(check,"不是质数,因为有约数",i,sep="")
                break
        if flag==1:
            print(check,"是质数",sep="")

说明:这段代码会判断每一个数,将flag设为1,只要这个数能被2到这个数//2之间的任意一个数整除,flag变成0,输出"不是质数",如果最后flag还为1,输出"是质数"

三.运行结果(分别输入2,50):

2是质数
3是质数
4不是质数,因为有约数2
5是质数
6不是质数,因为有约数2
7是质数
8不是质数,因为有约数2
9不是质数,因为有约数3
10不是质数,因为有约数2
11是质数
12不是质数,因为有约数2
13是质数
14不是质数,因为有约数2
15不是质数,因为有约数3
16不是质数,因为有约数2
17是质数
18不是质数,因为有约数2
19是质数
20不是质数,因为有约数2
21不是质数,因为有约数3
22不是质数,因为有约数2
23是质数
24不是质数,因为有约数2
25不是质数,因为有约数5
26不是质数,因为有约数2
27不是质数,因为有约数3
28不是质数,因为有约数2
29是质数
30不是质数,因为有约数2
31是质数
32不是质数,因为有约数2
33不是质数,因为有约数3
34不是质数,因为有约数2
35不是质数,因为有约数5
36不是质数,因为有约数2
37是质数
38不是质数,因为有约数2
39不是质数,因为有约数3
40不是质数,因为有约数2
41是质数
42不是质数,因为有约数2
43是质数
44不是质数,因为有约数2
45不是质数,因为有约数3
46不是质数,因为有约数2
47是质数
48不是质数,因为有约数2
49不是质数,因为有约数7
50不是质数,因为有约数2

你可能感兴趣的:(python)