Функция может содержать несколько операторов return. Она может вернуть одно значение в конструкции if и другое значение в else. Важно помнить, что функция прекращает свое выполнение сразу после того, как возвращает значение. Как только функция достигает оператора return, программа продолжает исполнение с того места, где функция была вызвана:
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
Таким образом, функция возвращает значение только один раз, и программа продолжает выполнение с того места, где функция была вызвана.
Это особенно удобно, если вы можете вернуть значение внутри цикла, и таким образом и цикл, и функция остановятся в этот момент, и программа вернется к тому месту, откуда была вызвана функция. Таким образом, мы можем избежать использования break в подобных циклах.
Задача
Мы назовем число «особенным», если оно четное и сумма его последних двух цифр равна 7.
Реализуйте функцию is_special(n), которая возвращает True, если n является особенным, и False в противном случае. Если число не «особенное», функция должна также вывести Not special в вывод перед возвратом.
Входные данные содержат одно целое число n (100 ≤ n ≤ ).
Программа должна вывести Yes, если n является особенным, и No в противном случае. В случае вывода No программа должна также вывести Not special перед No.