Давайте разберёмся с заданным кодом и ответим на вопросы по порядку.
Строки кода:
def f(a, b, c): # Строка 1
d = 2 # Строка 2
s = (a + b + c) + d # Строка 3
return s # Строка 4
c1 = 2 # Строка 5
c2 = 3 # Строка 6
c3 = 7 # Строка 7
rez = f(c1, c2, c3) # Строка 8
print(rez) # Строка 9
1) Сколько глобальных переменных?
Глобальные переменные — это переменные, которые определены вне любых функций и доступны отовсюду в программе. В данном коде мы видим следующие глобальные переменные:
c1(значение 2)c2(значение 3)c3(значение 7)
Таким образом, количество глобальных переменных равно 3.
2) Сколько локальных переменных?
Локальные переменные — это переменные, которые определены внутри функции и доступны только в её пределах. В функции f мы видим следующие локальные переменные:
d(значение 2, определена в строке 2)s(результат вычислений(a + b + c) + d, определена в строке 3)
Таким образом, количество локальных переменных в функции f равно 2.
3) Какой результат выдаст программа?
Теперь давайте посмотрим, чему будет равно значение переменной rez, когда мы вызываем функцию f(c1, c2, c3).
Подставляем значения:
c1 = 2c2 = 3c3 = 7
Вызов функции f(c1, c2, c3) будет эквивалентен вызову f(2, 3, 7). Теперь вычислим значение в функции:
По порядку передаются аргументы:
a = 2b = 3c = 7
Внутри функции
f:dприсваивается значение 2.- Считаем
s: \[ s = (a + b + c) + d = (2 + 3 + 7) + 2 = 12 + 2 = 14 \]
Функция возвращает значение
s, то есть14.
Таким образом, программа выведет результат 14.
Резюме:
- Количество глобальных переменных: 3
- Количество локальных переменных: 2
- Результат программы: 14