это относится к области видимости переменных, та переменная, что объявляется внутри функции - внутри нее и остается, вы же хотите глобальную переменную, поэтому она объявляется вне функции, но чтобы функция могла изменять глобальную переменную - global a