"""
之前的一个面试题,没答下去,今天有空,给他弄出来
"""
class ZhiShu(object):
def __init__(self, A, B):
self.A = A
self.B = B
def zs(self):
# 先把10以内的质数存在列表里面
li = [2, 3, 5, 7]
# 遍历
for i in range(self.A, self.B):
# 判断长度大于1位的数值,因为长度等于1的已经把质数存在li里面了
if len(str(i)) > 1:
# 大于1位数的数值求质数的判断逻辑
if i % 2 != 0 and i % 3 != 0 and i % 5 != 0 and i % 7 != 0:
# 把求出来的数值添加在列表li中
li.append(i)
# 再创建一个空列表用来存放根据输入的范围内的质数
li2 = []
for j in li:
if self.A <= j:
li2.append(j)
return li2
# 创建一个对象,传入两个参数,参数1:范围的起始值,参数2:范围的终止值
nums = ZhiShu(2, 100)
print(nums.zs())
打印结果:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
python封装一个打印质数的类(求1-100的质数)
最新推荐文章于 2023-02-13 19:58:34 发布