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()

猜你喜欢

转载自blog.csdn.net/qq_43243022/article/details/82953374