No hay ejecución después de return

Una función puede tener múltiples declaraciones de return. Puede devolver un valor en una sentencia if y otro valor en una sentencia else. Es importante tener en cuenta que la función detiene su ejecución tan pronto como devuelve un valor. Tan pronto como la función alcanza una sentencia return, el programa continúa su ejecución desde el lugar donde se llamó a la función:
def process_only_even(n):
    if n % 2 == 1:
        return 'This was an odd number!'
    print('Very interesting number ...', n)
    n += 18
    print('Adding 18 will result in:', n)
    return n
print(process_only_even(5))    
# ¡Este era un número impar!

print(process_only_even(6))
# Número muy interesante ... 6
# Agregar 18 resultará en: 24
# 24
Así, la función devuelve solo una vez, y el programa continúa su ejecución desde el punto donde se llamó a la función.
Esto es especialmente útil si puedes devolver un valor dentro de un bucle, y así, tanto el bucle como la función se detendrán en ese punto y el programa volverá al lugar desde donde se llamó a la función. Podemos evitar usar break en bucles de esa manera.

Desafío

Llamaremos a un número “especial” si es par y la suma de sus dos últimos dígitos es 7.
Implementa una función is_special(n) que devuelva True si n es especial y False en caso contrario. Si el número no es “especial”, la función también debe imprimir Not special en la salida antes de devolver.
La entrada contiene un solo entero n (100 ≤ n ≤ ).
El programa debe imprimir Yes si n es especial y No en caso contrario. En el caso de imprimir No, el programa también debe imprimir Not special antes del No.
Entrada
Salida
116
Yes
117
Not special No
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue