На уроке объясняется синтаксис составления процедуры и функции Питон. Рассматривается вызов функции, параметры функции и процедуры
Содержание:
Функции в роли процедуры
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) процедура с параметрами: числа — параметры процедуры.
Локальные и глобальные переменные
Примеры использования локальных и глобальных переменных:
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) |
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 чисел Фибоначчи.
Напишите процедуру, которая принимает параметр – натуральное число N – и выводит первые N чисел Фибоначчи.
Пример использования ключевого слова
Поменять значений двух переменных.
global
:Поменять значений двух переменных.
✍ Решение:
-
Решение 1:
def Swap(): global x,y t = x x = y y = t x=3 y=5 Swap() print(x,y) |
Решение 2:
def Swap(): global x,y (x, y) = (y, x) (x,y)=(3,5) Swap() print(x,y) |
Задание 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.
- Вызов функции осуществляется по ее имени и обычно сопровождается выводом значения.
Пример:
Найти максимальное значение из значений двух переменных.
Найти максимальное значение из значений двух переменных.
✍ Решение:
def max(a,b): if(a>b): return a else: return b x=int(input()) y=int(input()) print('max = ',max(x,y)) |
Задание 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.
Напишите функцию, которая вычисляет факториал натурального числа N.