Python-da global instruksiyası

Tutaq ki, bizim xarici global dəyişən i var. Həmçinin bu dəyişənə bir əlavə edən func funksiyası var:

pythoni = 0
def func():
  i += 1 # xəta çıxardacaq
  return i

Kodu icra etdikdən sonra xəta qaytarılacaq, çünki xarici koddə elan edilmiş global i və 1 əlavə edilən lokal i arasında qarşılıqlı təsir var, lakin dəyişən hələ elan edilməyib. Bu problemi həll etmək və funksiyanın dəqiq global dəyişənlə işləməsini təyin etmək üçün global instruksiyasından istifadə etmək lazımdır. Bu instruksiya təyin olunduğu cari kod bloku üçün icra olunan bir bəyandır.

Gəlin əvvəlki nümunəni funksiyanın gövdəsində global elan edərək yenidən yazaq:

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

Aşağıdakı kodda bir proqramçı xəta etmişdir:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Bu kodda nə səhvdir? Kodun müəllifinin xətasını tapın və düzəldin.

Задание 2

Aşağıdakı kodda bir proqramçı xəta etmişdir:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Bu kodda nə səhvdir? Kodun müəllifinin xətasını tapın və düzəldin.