Оператор global не объявляет переменную, а помечает, что её надо искать в глобальной области видимости. У вас в глобальной области видимости определена переменная count1 до вызова calc?
так ведь calc не вызывалась. А просто принтом выведена в терминал. Принт находится извне функции и по идее должен видеть любые глобальные переменные. Возможно я не понял вопрос
Сергей Горностаев, shurshur, Переменную count1 уже пробовал обьявлять перед функцией. Но тогда в нее записывается присваиваемое значение по умолчанию. и когда вывожу принт, то оно и считывается. А нужно чтобы можно было использовать число, высчитываемое функцией.
Например если сделать так, то принт выведет ноль, а не перемноженные плавающие числа:
Сергей Горностаев,
вот пример из инета очень похоже на мой пример. Тут так и написано:
Здесь переменная c была объявлена в функции mul() с помощью ключевого слова global. Ее значение умножается на 10 и становится равным 100. В процессе работы программы можно увидеть, что изменение значения внутри функции отражается на глобальном значении переменной.
c = 10
def mul():
global c
c = c * 10
print("Значение в функции:", c)
mul()
print("Значение вне функции:", c)
А если вызвать функцию в моем примере, то возникает другая ошибка:
Neo-archer, пока функция не вызывается, всё в ней описанное не происходит. А ошибка при вызове у вас происходит потому, что переменной Length1 на момент вызова не определена.