NUM_PRIMES = 11 START_NUM = 9 def is_prime(n): """Returns True if n is prime.""" if n == 1: return False if n == 2: return True if n == 3: return True if n % 2 == 0: return False if n % 3 == 0: return False i = 5 w = 2 while i * i <= n: if n % i == 0: return False i += w w = 6 - w return True def truncatable_prime(i): j = i for _ in range(len(j)): if not is_prime(int(j)): return False j = j[1:] j = i for _ in range(len(j)): if not is_prime(int(j)): return False j = j[:-1] return True if __name__ == '__main__': results = [] i = START_NUM while len(results) != NUM_PRIMES: i += 1 if truncatable_prime(str(i)): results.append(i) print(results) print(sum(results))