Python တွင် ခြွင်းချက်ဖြင့် လုပ်ဆောင်ချက်

ခြွင်းချက်များကို လုပ်ဆောင်ချက်အတွင်း အခြေအနေများကို အသုံးပြု၍ ထုတ်ပစ်ရန် အလွန်အဆင်ပြေပါသည်။

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 တည်ဆောက်မှုကို အသုံးပြု၍ သင်ဖန်တီးထားသော လုပ်ဆောင်ချက်၏ အလုပ်လုပ်ပုံကို စမ်းသပ်ပါ။ ဤသို့ပြုလုပ်စဉ် သင်၏ ခြွင်းချက်များကိုလည်း ဖမ်းယူပါ။