পাইথনে এক্সেপশন সহ ফাংশন

শর্ত ব্যবহার করে ফাংশনে এক্সেপশন নিক্ষেপ করা খুবই সুবিধাজনক।

আসুন একটি ফাংশন get_sum তৈরি করি, যা একটি তালিকার উপাদানগুলির যোগফল প্রদর্শন করবে শুধুমাত্র তখনই, যখন তালিকার দৈর্ঘ্য 3-এর থেকে কম বা সমান হয়। অন্যথায়, আমাদের এক্সেপশন ToBigLength নিক্ষেপ করা হোক:

pythondef get_sum(lst):
  if len(lst) <= 3:
    return sum(lst)
  else:
    raise ToBigLength

এখন get_sum ফাংশনে একটি তালিকা পাঠানো যাক এবং কনসোলে ফাংশনটি প্রিন্ট করি:

pythonlst = [1, 2, 3, 4]

print(get_sum(lst)) # 6 প্রিন্ট করবে

এছাড়াও ফাংশনে একাধিক ধরনের এক্সেপশন ধরা যায়। আসুন আরও একটি এক্সেপশন ক্লাস ToSmallLength তৈরি করি:

pythonclass ToSmallLength(Exception):
  pass

এখন ফাংশনে শর্ত লিখি, যদি তালিকার দৈর্ঘ্য শূন্য হয়, তাহলে ToSmallLength নিক্ষেপ করা হোক। আর যদি কোনো এক্সেপশন না ধরা পড়ে, তাহলে তালিকার সমস্ত উপাদানের যোগফল প্রদর্শিত হোক:

pythondef get_sum(lst):
  if len(lst) > 3:
    raise ToBigLength
  if len(lst) == 0:
    raise ToSmallLength
  else:
    return sum(lst)

সুবিধার জন্য, যে তালিকাটি ফাংশনের প্যারামিটারে পাঠানো হবে, ফাংশন নিজেই এবং এটির কলকে try ব্লকে আবদ্ধ করা যেতে পারে। আর আমাদের দুটি এক্সেপশন ধরা হবে except ব্লকে:

pythontry:
  lst = [1, 2, 3]
  res = get_sum(lst)
  print(res)
except ToBigLength:
  print('error 1')
except ToSmallLength:
  print('error 2')
Задание 1

এমন একটি ফাংশন তৈরি করুন যা একটি সংখ্যাকে প্যারামিটার হিসেবে গ্রহণ করবে। এতে শর্ত লিখুন, যদি সংখ্যাটি ঋণাত্মক এবং শূন্যের সমান হয়, তাহলে সংশ্লিষ্ট এক্সেপশন নিক্ষেপ করা হোক। অন্যথায় সংখ্যাটিকে 3 দ্বারা গুণ করা হোক।

Задание 2

try-except কনস্ট্রাকশন ব্যবহার করে আপনি তৈরি করা ফাংশনের কাজ পরীক্ষা করুন। এটির সাথে আপনার এক্সেপশনগুলিও ধরুন।