Ֆունկցիան կարող է ունենալ վերադարձի մի քանի հայտարարություն: Այն կարող է վերադարձնել մի արժեք 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 տպելու դեպքում ծրագիրը պետք է տպի նաև Not specialNo-ից առաջ։