Problema com uma função, ME AJUDEM!

Bom dia! Boa tarde! Boa noite! Não sei como começar, então obrigado por ajudar.
Código a baixo:

def sortudo(x):
return “2” in str(x) and “7” not in str(x)

A funçao retorna True se o numero tiver o digito 2 e não tiver o digito 7, ela funciona, mas quando e dou o seguint comando no IDLE:

len ([ x for x in range(18644,3308) if sortudo(x) ])

O retorno da 0

Isso é um exercício do google developer day 2010, ficaria agradecido se alguem me dissese qual o problema.

(Eu comecei a estudar pelo Python para zumbis a duas semanas, então nao sei quase nada)

quando você usa a função range, está usando um valor inicial superior ao final, retornando um array vazio, pois não existem valores maiores que 18644 menores que 3308.
https://docs.python.org/2/library/functions.html#range
a correta utilização dessa função é : range(start, stop)

eu acho que o problema não é esse, pois o range quando usado dessa forma ele vai decrementando o indice!!

isso mesmo, para decrementaro indice do range, é preciso passar o valor do incremento como negativo no terceiro paramentro do range.

range(inicio[, fim[, incremento]])

se o incremento for negativo ele decrementa