Pas d'exécution après return

Une fonction peut avoir plusieurs instructions return. Elle peut retourner une valeur dans une instruction if et une autre valeur dans une instruction else. Il est important de garder à l'esprit que la fonction arrête son exécution dès qu'elle retourne une valeur. Dès que la fonction atteint une instruction return, le programme continue son exécution à partir de l'endroit où la fonction a été appelée :
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
Ainsi, la fonction ne retourne qu'une seule fois, et le programme continue son exécution à partir du point où la fonction a été appelée.
Ceci est particulièrement utile si vous pouvez retourner une valeur dans une boucle, et donc, la boucle et la fonction s'arrêteront à ce point et le programme reviendra à l'endroit où la fonction a été appelée. Nous pouvons éviter d'utiliser break dans les boucles de cette manière.

Défi

Nous dirons qu'un nombre est « spécial » s'il est pair et si la somme de ses deux derniers chiffres est égale à 7.
Implémentez une fonction is_special(n) qui retournera True si n est spécial et False sinon. Si le nombre n'est pas « spécial », la fonction doit également afficher Not special dans la sortie avant de retourner.
L'entrée contient un seul entier n (100 ≤ n ≤ ).
Le programme doit afficher Yes si n est spécial et No sinon. Dans le cas où il affiche No, le programme doit également afficher Not special avant le No.
Input
Output
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