题目:
1-100的质数,输出循环次数?
前置知识储备:
Python基础-range()函数
语法格式
range(start, stop, step)
start: 计数从start开始, 默认从0开始
stop: 计数从stop结束,[start,stop)含头不含尾
step: 步长, 默认为1
range()函数的返回值类型是一个 range类型的数据, 可以理解为一个'整数列表', 但并非真正意义上的列表。
参考链接:Python基础-range()函数(定义一段整数范围)_pythonrange函数范围-CSDN博客
什么是质数?
在大于1的自然数中,除了1和该数自身外, 无法被其他自然数整除的数。
def panduan(n):
if n <=1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
zhishu=[ ]
count = 0
for j in range(1,101):
count+=1
if panduan(j):
zhishu.append(j)
print("1-100的质数",zhishu)
print("1-100的质数数量",count)
输出:
1-100的质数 [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]
1-100的质数数量 100
如果想要用self那么就得创建类,并且用类的实列来调用。
要使用 self
来编写完整的代码,可以将 panduan
函数写成类的方法,并在类中进行调用
class slectzhishu:
def chakan(self,n):
if n <= 1:
return False
for i in range (2,int(n**0.5)+1):
if n % i ==0:
return False
return True
count = 0
zhishu = []
#通过实列调用chakan
diaoyong = slectzhishu()
for j in range (1,101):
count += 1
if diaoyong.chakan(j):
zhishu.append(j)
print("1-101的质数",zhishu)
print("1-101的执行次数",count)
易错点:
return True
return True的位置是在所有循环判断之后才返回True证明是质数
for i in range (2,int(n**0.5)+1):
判断质数的条件,在[2,根号n]的范围内进行的,因为range是左闭右开,所以需要+1
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » python编程题积累—day2
发表评论 取消回复