Модуль: (Python) Подпрограммы: процедуры и функции - 1


Задача

9 /11


Локальные и глобальные переменные

Теория Нажмите, чтобы прочитать/скрыть


Локальные и глобальные переменные

Переменные, которые введены в основной программе, называются глобальные (или общие).

Обращаться к глобальным переменным можно из любой подпрограммы. 

Часто необходимо ввести дополнительные переменные, которые будут использоваться только в подпрограмме. Такие переменные называются локальными (или местными). С ними можно работать только внутри той подпрограммы, в которой они созданы. Остальные подпрограммы про них ничего не "знают".

Таким образом, можно ограничить область действия (область видимости) переменной только той подпрограммой, где она действительно нужна. В программировании такой прием называется инкапсуляцией  - сокрытие переменной от ее изменения извне.

Проанализируйте три программы:
Описание Программа
1) В этой программе переменная i локальная. Если в основной программе нет переменной i, то получим сообщение об ошибке. А если такая переменная есть (тогда это глобальная переменная), то на экран выводится ее значение.
def test():
    print(i)
2) Здесь, даже если есть глобальная переменная i, будет создана новая локальная переменная i со значением 2, и на экране появится 2.
def test():
    i = 2
    print(i)
3) В этой программе существует глобальная переменная i со значением 15. Ее значение можно изменить внутри подпрограммы, для этого необходимо явно объявить, что она глобальная (используем команду global).
Процедура будет работать с глобальной переменной i и ей будет присвоено новое значение 2. На экран выводится значение 2.
def test():
    global i  
    i = 2
    
# основная программа
i = 15
print(i)


 

Задача

Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n. Основная программа должна содержать ввод значения переменной n и вызов процедуры.
 
Примеры
Входные данные Выходные данные
1 5
    o
   ooo
  ooooo
 ooooooo
ooooooooo

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w642
Python2106
Комментарий учителя