Maagizo ya global katika Python

Hebu tuwe na kutofautisha kwa umma i. Pia kuna kitendo func, ambacho huongeza kitengo kwa kutofautisha hiki:

pythoni = 0
def func():
  i += 1 # itatoa makosa
  return i

Baada ya kutekeleza msimbo, makosa yatarudi, kwa sababu kuna mgongano wa umma i, iliyotangazwa kwa msimbo wa nje, na i ya eneo, ambayo huongezewa 1, lakini kutofautisha bado haija tangazwa. Ili kurekebisha hili shida na kuweka kitendo kufanya kazi hasa na kutofautisha kwa umma, unahitaji kutumia maagizo global. Maagizo haya yawakilisha tangazo ambalo hutekelezwa kwa bloku zote za sasa za msimbo, ambamo imewekwa.

Hebu tuandike tena mfano uliopita, kwa kutangaza katika mwili wa kitendo global:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # itatoa 1
Задание 1

Katika msimbo ufuatao programu fulani alifanya makosa:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Nini kibaya na msimbo huu? Tafuta na rekebisha kosa la muandishi wa msimbo.

Задание 2

Katika msimbo ufuatao programu fulani alifanya makosa:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Nini kibaya na msimbo huu? Tafuta na rekebisha kosa la muandishi wa msimbo.