Python Урок 3. Функции и процедуры

Поділитись

На уроке объясняется синтаксис составления процедуры и функции Питон. Рассматривается вызов функции, параметры функции и процедуры

Функции в роли процедуры

Подпрограммы прежде всего необходимы в ситуации, когда в разных частях программы необходимо выполнять одни и те же действия несколько раз. В таком случае повторяемые операторы оформляются в виде функции или процедуры, к которой можно обращаться и вызывать ее выполнение из разных частей программы.В 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 являются встроенными функциями, которые обеспечены синтаксисом самого языка. Например, intinputrandint.
Рассмотрим пример создания пользовательских функций.

  • Функция — это поименованный фрагмент программы, который можно вызвать.
  • Как и процедура, функция должна быть определена к моменту её вызова (служебное слово 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 до NN — параметр функции.Задание Python 3_9:
Напишите функцию, которая вычисляет факториал натурального числа N.


Поділитись