На уроке объясняется синтаксис составления процедуры и функции Питон. Рассматривается вызов функции, параметры функции и процедуры
Функции в роли процедуры
Подпрограммы прежде всего необходимы в ситуации, когда в разных частях программы необходимо выполнять одни и те же действия несколько раз. В таком случае повторяемые операторы оформляются в виде функции или процедуры, к которой можно обращаться и вызывать ее выполнение из разных частей программы.В python существует два вида реализации подпрограмм: функции в роли процедуры и функции в классическом понимании.Функция в роли процедуры призвана не возвратить значение в основную программу, а вывести его, либо выполнить какие-либо действия с глобальными переменными, при этом не возвращая полученные значения основной программе (не используя ключевое слово return).
Рассмотрим синтаксис функции-процедуры на примере:
Пример: Создать процедуру для вывода сообщения об ошибке. Запрашивать у пользователя ввести положительное число, в случае ввода отрицательного числа, вызывать процедуру для вывода сообщения об ошибке.
✍ Решение:
| def Err(): # определение процедуры print ( «Ошибка: неверные данные» ) n = int ( input(‘введите положительное число’) ) if n < 0: Err() # вызов процедуры |
- Процедура — вспомогательный алгоритм, выполняющий некоторые действия.
- Это поименованный фрагмент программы, который можно вызвать.
- Процедура должна быть определена к моменту её вызова. Определение процедуры начинается со служебного слова def.
- Вызов процедуры осуществляется по ее имени, за которым следуют круглые скобки, например, Err().
- В одной программе может быть сколько угодно много вызовов одной и той же процедуры.
- Использование процедур сокращает код и повышает удобочитаемость.
ПРОЦЕДУРА С ПАРАМЕТРАМИ
Как используются в Python параметры процедуры, рассмотрим на примере.Пример: Написать процедуру, которая печатает 60 раз указанный символ (введенный с клавиатуры), каждый с новой строки.
✍ Решение:
| 1 2 3 4 5 | def printChar(s): for i in range(60): print (s) sim = input(‘введите символ’) printChar(sim) |
- Глобальная переменная — если ей присвоено значение в основной программе (вне процедуры).
- Локальная переменная (внутренняя) известна только на уровне процедуры, обратиться к ней из основной программы и из других процедур нельзя.
- Параметры процедуры — локальные переменные. В программе s — локальная переменная.
Задание Python 3_0:
Создать процедуру, которая вычисляет разность двух вводимых пользователем числа. Выполнить задание двумя способами: 1) процедура без параметров: числа — глобальные переменные, определенные в основной программе; 2) процедура с параметрами: числа — параметры процедуры.
ЛОКАЛЬНЫЕ И ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
Примеры использования локальных и глобальных переменных:
| 1 2 3 4 | x = 3 # глобальная переменная def pr(): # процедура без параметров print (x) # вывод значения глобальной переменной pr() |
| 1 2 3 4 5 | x = 3 # глобальная переменная def pr(a): # процедура с параметром a = 4 # локальная переменная print (a) #4 pr(x) # передача параметра глобальной переменной (3) |
Существует возможность изменить значение глобальной переменной (не создавая локальную). В процедуре с помощью слова global:
| 1 2 3 4 5 6 | x = 3 # глобальная переменная def pr(): # процедура без параметров global x x = 1 print (x) # вывод измененного значения глобальной переменной (1) pr(x) |
Задание Python 3_1:
Напишите процедуру, которая выводит на экран в столбик все цифры переданного ей числа, начиная с последней:
число: 4673 результат: 3 7 6 4
Задание Python 3_2:
Напишите процедуру, которая выводит на экран все делители переданного ей числа (в одну строчку).Задание Python 3_3:
Составить программу с процедурой для вычисления степени числа (входные параметры: число и степень).
Рекомендации: для вычисления степени числа можно использовать функцию pow(число, степень)Задание Python 3_4:
Напишите процедуру, которая принимает параметр – натуральное число N – и выводит первые N чисел Фибоначчи.Пример использования ключевого слова global:
Поменять значений двух переменных.
Задание Python 3_5:
Создайте процедуру без параметров AddLeftDigit(), которая добавляет введенную цифру K (0<=K<=9) слева к введенной цифре D (0<=D<=9) и выводит результат. Используйте ключевое слово global для работы с глобальными переменными.
Ожидаемый результат:
введите D (0<=D<=9) и K(0<=K<=9): >>>2 >>>4 результат: 42
Язык Python функции
Часть функций языка Python являются встроенными функциями, которые обеспечены синтаксисом самого языка. Например, int, input, randint.
Рассмотрим пример создания пользовательских функций.
- Функция — это поименованный фрагмент программы, который можно вызвать.
- Как и процедура, функция должна быть определена к моменту её вызова (служебное слово def).
- Функция в отличии от процедуры возвращает значение.
- Для возврата значения функции используется оператор return.
- Вызов функции осуществляется по ее имени и обычно сопровождается выводом значения.
Пример:
Найти максимальное значение из значений двух переменных.
✍ Решение:
Задание Python 3_6:
Создайте функцию для поиска минимума среди трех чисел (три параметра функции).Пример:
Вычислить сумму цифр числа.
| 1 2 3 4 5 6 7 8 | def sumD(n): # определение функции с параметром sum = 0 while n!= 0: sum += n %10 n = n // 10 return sum # возврат значения функции # основная программа print (sumD(1075)) # вызов функции с параметром |
Задание Python 3_7:
Напишите функцию, которая вычисляет количество цифр числа.Задание Python 3_8:
Создайте функцию, которая вычисляет сумму всех чисел от 1 до N. N — параметр функции.Задание Python 3_9:
Напишите функцию, которая вычисляет факториал натурального числа N.