Instruksi global dalam Python

Misalkan kita memiliki variabel global eksternal i. Juga ada fungsi func yang menambahkan satu ke variabel ini:

pythoni = 0
def func():
  i += 1 # akan menampilkan error
  return i

Setelah kode dieksekusi akan mengembalikan error, karena terjadi konflik antara i global yang dideklarasikan di kode eksternal, dan i lokal, yang ditambahkan 1, tetapi variabel itu sendiri belum dideklarasikan. Untuk memperbaiki masalah ini dan membuat fungsi bekerja tepat dengan variabel global, kita perlu menggunakan instruksi global. Instruksi ini merupakan deklarasi yang dijalankan untuk seluruh blok kode saat ini di mana instruksi itu ditetapkan.

Mari kita tulis ulang contoh sebelumnya, dengan mendeklarasikan global di dalam tubuh fungsi:

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

Dalam kode berikut, seorang programmer membuat kesalahan:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Apa yang salah dengan kode ini? Temukan dan perbaiki kesalahan penulis kode.

Задание 2

Dalam kode berikut, seorang programmer membuat kesalahan:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Apa yang salah dengan kode ini? Temukan dan perbaiki kesalahan penulis kode.