Python练习(11)

问题描述:

所谓回文素数是指,对一个整数n从左向右和从右向左读结果值相同且是素数,即称为回文素数。
求不超过1000的回文素数。
分析:
构造判断素数的函数;
先筛选素数,再求出逆数,若相等则输出

代码

#素数判断函数
import math
def sushu(n):             
    for k in range(2,int(math.sqrt(n)+1)):
        if n%k==0:
            return False
    return True

b=[]
for i in range(2,1000):
    if sushu(i):
        if int(str(i)[::-1])==i:   #求一个数反过来的简便方法 将 str(i)[::-1] 化为int
            b.append(i)
print b

#结果
[2, 3, 5, 7, 11, 101, 131, 151, 181, 191, 313, 353, 373, 383, 727, 757, 787, 797, 919, 929]

知识积累:
求列表的最大值 max(list)
删掉序号为 n 的元素:del list[ n ]
查找元素在列表中的序号: list.index( element )
判断元素是否在列表中: element in list ---->True or False
反向排列:list . reverse()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值