Обхват на променливите — локална срещу глобална
Така е грешно
def smetni(): rezultat = 5 + 3 smetni() print(rezultat) # грешка — rezultat не съществува тук
Така е вярно
def smetni(): rezultat = 5 + 3 return rezultat x = smetni() print(x) # правилно — стойността се връща и записва в глобална променлива x
Защо се допуска
Учениците смятат, че всяка създадена в програмата променлива автоматично е видима навсякъде, без да отчитат, че функциите създават свое собствено, затворено пространство от имена.
Как да я избегнеш
Ако стойност, изчислена вътре във функция, е нужна извън нея, тя трябва изрично да бъде върната с `return` и записана в променлива извън функцията.
Провери се
Кратко упражнение точно по тази грешка.
Къде „живее“ локална променлива, дефинирана вътре във функция?
Пробвай на цял тест
Направи пробния тест по формата на изпита и виж дали грешката вече не те спъва.