Python-da global instruksiýasy

Bizde daşarky global üýtgeýän i bolsun. Şeýle hem bu üýtgeýjä bir goşýan func funksiýasy bar:

pythoni = 0
def func():
  i += 1 # säwlik çykarar
  return i

Kod ýerine ýetirilenden soň säwlik gaýtaralar, sebäbi daşarky kodda çykyş edilen global i we 1 goşulýan ýöne heniz çykyş edilmedik ýerli i arasynda çaknyşyk bolýar. Bu meseläni çözmek we funksiýanyny işini hakykatdanam global üýtgeýän bilen ýerine ýetirmek üçin global instruksiýasyny ulanyş gerek. Bu instruksiýa özüni berlen häzirki kod blogy üçin çykyş ediş hökmünde hödürleýär, onuň niredä kesgitlenendigi.

Öňki mysaly täzeden ýazalyň, funksiýanyň jisminde global çykyş edeliň:

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

Aşakdaky kodda käbir programmist säwlik ýüz berdi:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Bu kod bilen näme nädogry? Kod awtorunyň säwligini tapyň we düzediň.

Задание 2

Aşakdaky kodda käbir programmist säwlik ýüz berdi:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Bu kod bilen näme nädogry? Kod awtorunyň säwligini tapyň we düzediň.