ფუნქცია გამონაკლისით Python-ში
გამონაკლისების გამოტანა ძალიან მოსახერხებელია, მათი პირობებით ფუნქციებში განსაზღვრა.
შევქმნათ ფუნქცია get_sum,
რომელიც დააბრუნებს ელემენტების ჯამს
სიიდან მხოლოდ იმ შემთხვევაში, თუ სიის სიგრძე
ნაკლებია ან ტოლი 3-ის. წინააღმდეგ შემთხვევაში,
გამოვიდეს ჩვენი გამონაკლისი ToBigLength:
def get_sum(lst):
if len(lst) <= 3:
return sum(lst)
else:
raise ToBigLength
ახლა გადავცეთ ფუნქციას get_sum
სია და გამოვიტანოთ ფუნქციის შედეგი კონსოლში:
lst = [1, 2, 3, 4]
print(get_sum(lst)) # დააბრუნებს 6-ს
ასევე ფუნქციებში შესაძლებელია რამდენიმე ტიპის
გამონაკლისის დაჭერა. შევქმნათ კიდევ ერთი კლასის გამონაკლისი ToSmallLength:
class ToSmallLength(Exception):
pass
ახლა ფუნქციაში განვსაზღვროთ პირობა, თუ
სიის სიგრძე ნულის ტოლია, გამოვიდეს
ToSmallLength. თუ არც ერთი გამონაკლისი
არ დაიჭირება, დააბრუნოს
სიის ყველა ელემენტის ჯამი:
def get_sum(lst):
if len(lst) > 3:
raise ToBigLength
if len(lst) == 0:
raise ToSmallLength
else:
return sum(lst)
მოხერხებულობისთვის შესაძლებელია სია, რომელიც
გადაეცემა ფუნქციის პარამეტრს,
თავად ფუნქცია და მისი გამოძახება ჩაიფაროს try
ბლოკში.
ჩვენი ორი გამონაკლისის დაჭერა კი მოვათავსოთ
except ბლოკებში:
try:
lst = [1, 2, 3]
res = get_sum(lst)
print(res)
except ToBigLength:
print('error 1')
except ToSmallLength:
print('error 2')
შექმენით ფუნქცია, რომელიც პარამეტრად მიიღებს
რიცხვს. მასში განსაზღვრეთ პირობები:
თუ რიცხვი უარყოფითია ან ნულის ტოლია,
გამოიგდოს შესაბამისი გამონაკლისები.
წინააღმდეგ შემთხვევაში რიცხვი
გავამრავლოთ 3-ზე.
შეამოწმეთ თქვენ მიერ შექმნილი ფუნქციის მუშაობა
try-except კონსტრუქციის გამოყენებით.
ამ დროს ასევე დაიჭირეთ თქვენი გამონაკლისები.