Python求素数

Python每日一练


问题:

求100之内的素数。


代码实现

代码如下(示例):

l1 = []		# 定义一个空列表,将求得素数都存入其中
for num in range(1,101):
    if num > 1:		# 根据定义1不是素数
        for i in range(2,num):		# 通过for循环 把2到自身的数每个都进行取余操作,如果有其中一个数满足取余等于0,即证明该数能被整除,所以它不是素数,循环结束
            if (num % i) == 0:
                break
        else:
            l1.append(num)		# 将素数存入l1列表中

print(l1)

输出结果如下:

[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与该数本身两个正因数的数,大于1的自然数若不是素数,则称之为合数。

与其他编程语言略有不同,python中,else除了常规的和 if 配合使用外,还有for - else使用的场景。
for - else的执行顺序为:
1、当迭代对象完成所有迭代后且此时的迭代对象为空时,
2、如果存在else子句则执行else子句,没有则继续执行后续代码;
3、如果迭代对象因为某种原因(如带有break关键字)提前退出迭代,则else子句不会被执行,程序将会直接跳过else子句继续执行后续代码。

代码如下(示例):

a = [1, 2, 3, 4, 5]
for i in a:
    print(i, end=",")
else:
    print()
    print(i + 1, '输出一个else')

输出结果如下:

1,2,3,4,5,
6 输出一个else

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值