请问Python如何解决这个回文素数问题

一个整数各位从左到右读与从右到左读相同则被称为回文数(例如11),若其同时为素数则被称为回文素数。请输出1000以内的所有回文素数。


def prime(n):
    for i in range(2,int((n+1)/2)+1):
        if n%i == 0:
            return(0)  ## 非素数
        else:
            pass
    return(1)  ## 素数
for i in range(2,1001):
    flag = 0
    le = len(str(i))
    if le==1: 
        if(prime(i)== 1):
            print(i)
    else:
        if(str(i)[0] == str(i)[le-1] and prime(i)==1):
            print(i)