Nenhuma execução após return

Uma função pode ter múltiplas declarações return. Ela pode retornar um valor em uma instrução if e outro valor em um else. É importante lembrar que a função para sua execução assim que retorna um valor. Assim que a função alcança uma instrução return, o programa continua sua execução do ponto onde a função foi chamada:
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))    
# This was an odd number!

print(process_only_even(6))
# Very interesting number ... 6
# Adding 18 will result in: 24
# 24
Portanto, a função retorna apenas uma vez, e o programa continua sua execução a partir do ponto onde a função foi chamada.
Isso é especialmente útil se você puder retornar um valor dentro de um loop; assim, tanto o loop quanto a função serão interrompidos naquele ponto, e o programa retornará para onde a função foi chamada. Podemos evitar usar break em loops dessa maneira.

Desafio

Chamaremos um número “especial” se ele for par e a soma de seus dois últimos dígitos for 7.
Implemente uma função is_special(n) que retorne True se n for especial e False caso contrário. Se o número não for “especial”, a função também deve imprimir Not special na saída antes de retornar.
A entrada contém um único inteiro n (100 ≤ n ≤ ).
O programa deve imprimir Yes se n for especial e No caso contrário. No caso de imprimir No, o programa também deve imprimir Not special antes do No.
Entrada
Saída
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