Python ရှိ global ညွှန်ကြားချက်

ကျွန်ုပ်တို့တွင် ပြင်ပရှိ global ကိန်းရှင် တစ်ခု i ရှိသည်ဆိုပါစို့။ ထို့အပြင် ထိုကိန်းရှင်ကို တစ်ပေါင်းထည့်ပေးသော func လုပ်ဆောင်ချက်လည်း ရှိသည်။

pythoni = 0
def func():
  i += 1 # အမှားကို ပြသပေးမည်
  return i

ကုဒ်ကို လုပ်ဆောင်ပြီးနောက် အမှားတစ်ခု ပေါ်လာမည်။ အဘယ်ကြောင့်ဆိုသော် ပြင်ပကုဒ်တွင် ကြေငြာထားသော global i နှင့် 1 ပေါင်းထည့်ရန် သုံးထားသော်၎င်း ကိုယ်တိုင်မှ မကြေငြာရသေးသော local i တို့ တိုက်ဆိုင်နေခြင်းကြောင့် ဖြစ်သည်။ ဤပြဿနာကို ဖြေရှင်းပြီး လုပ်ဆောင်ချက်အား global ကိန်းရှင်နှင့်သာ အလုပ်လုပ်စေလိုလျှင် global ညွှန်ကြားချက်ကို အသုံးပြုရန် လိုအပ်ပါသည်။ ဤညွှန်ကြားချက်သည် ၎င်းကို သတ်မှတ်ထားသော လက်ရှိကုဒ်ဘလောက်တစ်ခုလုံးအတွက် ကြေငြာချက်တစ်ခုအဖြစ် လုပ်ဆောင်ပေးပါသည်။

ယခင်ဥပမာကို လုပ်ဆောင်ချက်အတွင်း global ကြေငြာခြင်းဖြင့် ပြန်ရေးကြည့်ပါမည်။

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # 1 ကို ပြသပေးမည်
Задание 1

အောက်ပါကုဒ်တွင် ပရိုဂရမ်မာတစ်ဦးသည် အမှားတစ်ခု ကျူးလွန်ထားသည်။

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

ဤကုဒ်တွင် ဘာမှားနေသနည်း။ ကုဒ်ရေးသူ၏ အမှားကို ရှာဖွေပြီး ပြင်ဆင်ပေးပါ။

Задание 2

အောက်ပါကုဒ်တွင် ပရိုဂရမ်မာတစ်ဦးသည် အမှားတစ်ခု ကျူးလွန်ထားသည်။

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

ဤကုဒ်တွင် ဘာမှားနေသနည်း။ ကုဒ်ရေးသူ၏ အမှားကို ရှာဖွေပြီး ပြင်ဆင်ပေးပါ။