Ֆունկցիան կարող է ունենալ վերադարձի մի քանի հայտարարություններ: Այն կարող է վերադարձնել մի արժեք 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
Այսպիսով, ֆունկցիան return է անում միայն մեկ անգամ, և ծրագիրը շարունակում է աշխատել այն կետից, որտեղից կանչվել է ֆունկցիան։
Սա հատկապես հարմար է, եթե կարողանում եք արժեք վերադարձնել ցիկլում։ Հետևաբար, և՛ ցիկլը, և՛ ֆունկցիան կդադարեն այդ կետում, և ծրագիրը կվերադառնա այնտեղ, որտեղից կանչվել էր ֆունկցիան: Այս կերպ կարող ենք խուսափել break հրամանից:
Առաջադրանք
Թիվը կանվանենք «հատուկ», եթե այն զույգ է, իսկ վերջին երկու թվանշանների գումարը 7 է:
Գրեք is_special(n) ֆունկցիան, որը կվերադարձնի True, եթե n-ը «հատուկ» է, իսկ հակառակ դեպքում կվերադարձնի False: Եթե թիվը «հատուկ» չէ, վերադարձնելուց առաջ ֆունկցիան ելքում պետք է նաև տպի Not special:
Մուտքը պարունակում է մեկ ամբողջ թիվ՝ n (100 ≤ n ≤ ).
Ծրագիրը պետք է տպի Yes, եթե n-ը հատուկ է, իսկ հակառակ դեպքում՝ No: No տպելու դեպքում ծրագիրը No-ից առաջ պետք է տպի նաև Not special։