Программирование на языке Python. Функции

Содержание

Слайд 2

Программирование на языке Python § 60. Функции

Программирование на языке Python

§ 60. Функции

Слайд 3

Что такое функция? Функция – это вспомогательный алгоритм, который возвращает значение-результат

Что такое функция?

Функция – это вспомогательный алгоритм, который возвращает значение-результат (число,

символ или объект другого типа).

Задача. Написать функцию, которая вычисляет сумму цифр числа.

Алгоритм:

сумма = 0
пока n != 0:
сумма += n % 10
n = n // 10

Слайд 4

Сумма цифр числа # основная программа print ( sumDigits(12345) ) def

Сумма цифр числа

# основная программа
print ( sumDigits(12345) )

def sumDigits( n ):

sum = 0
while n!= 0:
sum += n % 10
n = n // 10
return sum

return sum

передача результата

Слайд 5

Использование функций x = 2*sumDigits(n+5) z = sumDigits(k) + sumDigits(m) if

Использование функций

x = 2*sumDigits(n+5)
z = sumDigits(k) + sumDigits(m)
if sumDigits(n) % 2

== 0:
print ( "Сумма цифр чётная" )
print ( "Она равна", sumDigits(n) )

Одна функция вызывает другую:

def middle ( a, b, c ):
mi = min ( a, b, c )
ma = max ( a, b, c )
return a + b + c - mi - ma

вызываются min и max

Слайд 6

Задачи «A»: Напишите функцию, которая находит наибольший общий делитель двух натуральных

Задачи

«A»: Напишите функцию, которая находит наибольший общий делитель двух натуральных чисел.


Пример:
Введите два натуральных числа:
7006652 112307574
НОД(7006652,112307574) = 1234.
«B»: Напишите функцию, которая определяет сумму цифр переданного ей числа.
Пример:
Введите натуральное число:
123
Сумма цифр числа 123 равна 6.
Слайд 7

Задачи «C»: Напишите функцию, которая «переворачивает» число, то есть возвращает число,

Задачи

«C»: Напишите функцию, которая «переворачивает» число, то есть возвращает число, в

котором цифры стоят в обратном порядке.
Пример:
Введите натуральное число:
1234
После переворота: 4321.
Слайд 8

Как вернуть несколько значений? def divmod ( x, y ): d

Как вернуть несколько значений?

def divmod ( x, y ):
d =

x // y
m = x % y
return d, m

d – частное,
m – остаток

a, b = divmod ( 7, 3 )
print ( a, b ) # 2 1

q = divmod ( 7, 3 )
print ( q ) # (2, 1)

(2, 1)

кортеж – набор элементов

Слайд 9

Задачи «A»: Напишите функцию, которая переставляет три переданные ей числа в

Задачи

«A»: Напишите функцию, которая переставляет три переданные ей числа в порядке

возрастания.
Пример:
Введите три натуральных числа:
10 15 5
5 10 15
«B»: Напишите функцию, которая сокращает дробь вида M/N.
Пример:
Введите числитель и знаменатель дроби:
25 15
После сокращения: 5/3
Слайд 10

Задачи «C»: Напишите функцию, которая вычисляет наибольший общий делитель и наименьшее

Задачи

«C»: Напишите функцию, которая вычисляет наибольший общий делитель и наименьшее общее

кратное двух натуральных чисел.
Пример:
Введите два натуральных числа:
10 15
НОД(10,15)=5
НОК(10,15)=30
Слайд 11

Логические функции Задача. Найти все простые числа в диапазоне от 2

Логические функции

Задача. Найти все простые числа в диапазоне от 2 до

100.

for i in range(2,1001):
if  i - простое  :
print ( i )

i - простое

isPrime(i)

функция, возвращающая логическое значение (True/False)

Слайд 12

Функция: простое число или нет? def isPrime ( n ): k

Функция: простое число или нет?

def isPrime ( n ):
k =

2
while k*k <= n and n % k != 0:
k += 1
return (k*k > n)

return (k*k > n)

if k*k > n:
return True
else:
return False

Слайд 13

Логические функции: использование n = int ( input() ) while isPrime(n):

Логические функции: использование

n = int ( input() )
while isPrime(n):
print (

n, "– простое число" )
n = int ( input() )
Слайд 14

Задачи «A»: Напишите логическую функцию, которая определяет, является ли переданное ей

Задачи

«A»: Напишите логическую функцию, которая определяет, является ли переданное ей число

совершенным, то есть, равно ли оно сумме своих делителей, меньших его самого.
Пример:
Введите натуральное число:
28
Число 28 совершенное.
Пример:
Введите натуральное число:
29
Число 29 не совершенное.
Слайд 15

Задачи «B»: Напишите логическую функцию, которая определяет, являются ли два переданные

Задачи

«B»: Напишите логическую функцию, которая определяет, являются ли два переданные ей

числа взаимно простыми, то есть, не имеющими общих делителей, кроме 1.
Пример:
Введите два натуральных числа:
28 15
Числа 28 и 15 взаимно простые.
Пример:
Введите два натуральных числа:
28 16
Числа 28 и 16 не взаимно простые.