Слайд 1Функции в программировании.
Язык программирования Python
Слайд 2Требовалось написать скрипт, который при выполнении должен три раза запрашивать у
пользователя разные данные, но выполнять с ними одни и те же действия.
Слайд 4 Измените скрипт с использованием цикла while для организации повторения
При каждом витке
цикла прежние данные утрачиваются.
-
Слайд 5Как сохранить для дальнейшего использования в программе все шесть чисел, введенных
пользователем?
Слайд 6Функции
Функции в программировании – это изолированный блок кода, обращение к
которому в процессе выполнения программы может быть многократным.
Функции используют, чтобы сократить объем исходного кода: рационально вынести часто повторяющиеся выражения в отдельный блок и, затем, по мере надобности, обращаться к нему.
Слайд 7def – это инструкция (команда) Python, позволяющая создавать функцию.
diff – это
имя функции, которое (так же как и имена переменных) может быть почти любым. После в скобках перечисляются параметры функции. Если их нет, то скобки остаются пустыми. Далее идет двоеточие, обозначающее окончание заголовка функции (аналогично с условиями и циклами).
Слайд 8После заголовка с новой строки и с отступом следуют выражения тела
функции.
В конце тела функции присутствует инструкция return (может и не быть), которая возвращает значение(я) в основную ветку программы. В данном случае, если бы в функции не было инструкции return, то в основную программу ничего бы не возвращалось, и переменным a и b (c и d, а также e и f) числовые значения не присваивались бы. После функции идет, так называемая, основная ветка программы, в которой переменным попарно присваивается результат выполнения вызываемой функции. В иных ситуациях, когда функция не возвращает значений, ее вызов не связывается с переменной.
Слайд 9После функции идет, так называемая, основная ветка программы, в которой переменным
попарно присваивается результат выполнения вызываемой функции.
Выражения тела функции выполняются лишь тогда, когда она вызывается в основной ветке программы. Так, например, если функция присутствует в исходном коде, но нигде не вызывается в нем, то содержащиеся в ней инструкции не будут выполнены ни разу.
Слайд 10Напишите функцию, которая вычисляет сумму трех чисел и возвращает результат в
основную ветку программы.
Слайд 11def summa():
m = int(input('Введите первое число: '))
n
= int(input('Введите второе число: '))
k = int(input('Введите третье число: '))
s=0
s=m+n+k+s
print(s)
return m,n,k
a,b,c=summa()
Слайд 12Что будет результатом выполнения программы:
def mmm (x,y):
return x+y
f =mmm
v
= f(10, 20)
print(v)
Слайд 13def summa (x,y):
return x+y
f =summa # Сохраняем ссылку в
nеременной f
v = f(10, 20)# Вызываем функцию через переменную f
print(v)
Слайд 14Ввод-вывод: методы split и join
Элементы списка могут вводиться по одному в
строке, в этом случае строку можно считать функцией input(). После этого можно использовать метод строки split, возвращающий список строк, разрезав исходную строку на части по пробелам. Пример:
A = input().split()
Если при запуске этой программы ввести строку 1 2 3, то список A будет равен ['1', '2', '3']. Обратите внимание, что список будет состоять из строк, а не из чисел. Если хочется получить список именно из чисел, то можно затем элементы списка по одному преобразовать в числа:
for i in range(len(A)):
A[i] = int(A[i])
Используя функции языка map и list то же самое можно сделать в одну строку:
A = list(map(int, input().split()))
Объяснений, как работает этот код, пока не будет. Если нужно считать список действительных чисел, то нужно заменить тип int на тип float.
У метода split есть необязательный параметр, который определяет, какая строка будет использоваться в качестве разделителя между элементами списка. Например, метод split('.') вернет список, полученный разрезанием исходной строки по символам '.'.
Используя “обратные” методы можно вывести список при помощи однострочной команды. Для этого используется метод строки join. У этого метода один параметр: список строк. В результате получается строка, полученная соединением элементов списка (которые переданы в качестве параметра) в одну строку, при этом между элементами списка вставляется разделитель, равный той строке, к которой применяется метод. Например программа
A = ['red', 'green', 'blue']
print(' '.join(A))
print(''.join(A))
print('***'.join(A))
выведет строки 'red green blue', redgreenblue и red***green***blue.
Если же список состоит из чисел, то придется использовать еще и функцию map. То есть вывести элементы списка чисел, разделяя их пробелами, можно так: print(' '.join(map(str, A)))