Функции Python — Упражнения, Практика, Решение
5. Напишите функцию Python для вычисления факториала числа (неотрицательное целое число). Функция принимает число в качестве аргумента. Перейти к редактору
Нажмите меня, чтобы увидеть образец решения
6. Напишите функцию Python, чтобы проверить, находится ли число в заданном диапазоне. Перейти к редактору
Нажмите меня, чтобы увидеть образец решения
7. Напишите функцию Python, которая принимает строку и рассчитывает количество букв верхнего и нижнего регистра. Перейти к редактору
Пример строки : «Быстрая Лиса Бровей»
Ожидаемый результат :
Количество символов в верхнем регистре: 3
Количество строчных букв: 12
Нажмите меня, чтобы увидеть образец решения
8. Напишите функцию Python, которая берет список и возвращает новый список с уникальными элементами первого списка. Перейти к редактору
Список образцов: [1,2,3,3,3,3,4,5]
Уникальный список: [1, 2, 3, 4, 5]
Нажмите меня, чтобы увидеть образец решения
9. Напишите функцию Python, которая принимает число в качестве параметра и проверяет, является ли число простым или нет. Перейти к редактору
Примечание. Простое число (или простое число) — это натуральное число, большее 1, которое не имеет положительных делителей, кроме 1 и самого себя.
Нажмите меня, чтобы увидеть образец решения
10. Напишите программу на Python для печати четных чисел из заданного списка. Перейти к редактору
Список образцов : [1, 2, 3, 4, 5, 6, 7, 8, 9]
Ожидаемый результат : [2, 4, 6, 8]
Нажмите меня, чтобы увидеть образец решения
11. Напишите функцию Python, чтобы проверить, является ли число совершенным или нет. Перейти к редактору
Согласно Википедии: в теории чисел совершенное число — это положительное целое число, равное сумме его собственных положительных делителей, то есть сумме его положительных делителей, исключая само число (также известное как его аликвотная сумма). Эквивалентно, идеальное число — это число, которое составляет половину суммы всех его положительных делителей (включая себя).
Пример : первое совершенное число равно 6, потому что 1, 2 и 3 являются его собственными положительными делителями, а 1 + 2 + 3 = 6. Эквивалентно, число 6 равно половине суммы всех его положительных делителей: (1 + 2 + 3 + 6) / 2 = 6. Следующее совершенное число — 28 = 1 + 2 + 4 + 7 + 14. За ним следуют совершенные числа 496 и 8128.
Нажмите меня, чтобы увидеть образец решения
12. Напишите функцию Python, которая проверяет, является ли переданная строка палиндромом или нет. Перейти к редактору
Примечание. Палиндром — это слово, фраза или последовательность, которые читаются так же, как и вперёд, например, бегут мадам или медсестры.
Нажмите меня, чтобы увидеть образец решения
13. Напишите функцию Python, которая печатает первые n строк треугольника Паскаля. Перейти к редактору
Примечание. Треугольник Паскаля — это арифметическая и геометрическая фигура, впервые представленная Блезом Паскалем.
Образец треугольника Паскаля:
14. Напишите функцию Python, чтобы проверить, является ли строка панграммой или нет. Перейти к редактору
Примечание. Панограммы — это слова или предложения, содержащие каждую букву алфавита хотя бы один раз.
Например: «Быстрая коричневая лиса перепрыгивает через ленивую собаку»
Нажмите меня, чтобы увидеть образец решения
15. Напишите программу на языке Python, которая принимает в качестве входных данных последовательность слов, разделенных дефисами, и печатает слова в последовательности, разделенной дефисами, после сортировки по алфавиту. Перейти к редактору
Образцы элементов : зеленый-красный-желтый-черный-белый
Ожидаемый результат : черный-зеленый-красный-бело-желтый
Нажмите меня, чтобы увидеть образец решения
16. Напишите функцию Python, чтобы создать и распечатать список, значения которого представляют собой квадрат чисел от 1 до 30 (оба включены). Перейти к редактору
Нажмите меня, чтобы увидеть образец решения
17. Напишите программу на Python, чтобы создать в Python цепочку декораторов функций (полужирный, курсив, подчеркивание и т. Д.). Перейти к редактору
Нажмите меня, чтобы увидеть образец решения
18. Напишите программу на Python для выполнения строки, содержащей код Python. Перейти к редактору
Нажмите меня, чтобы увидеть образец решения
19. Напишите программу на Python для доступа к функции внутри функции. Перейти к редактору
Нажмите меня, чтобы увидеть образец решения
20. Напишите программу на Python для определения количества локальных переменных, объявленных в функции. Перейти к редактору
Нажмите меня, чтобы увидеть образец решения
Редактор кода Python:
Еще не все !
Не отправляйте решение вышеупомянутых упражнений здесь, если вы хотите внести вклад, перейдите на соответствующую страницу упражнения.
Функции в Python
Функция — это именованный блок кода, к которому можно обратиться из любого места программы. У функции есть имя и список входных параметров, а также возвращаемое значение.
Функция позволяет использовать в программе один и тот же фрагмент кода несколько раз.
Oбъявление функции в Python выглядит так:
def function_name ( argument1 , argument2 , . ):
# код функции
# def — DEclare Function — «объявить функцию»
# function_name — имя функции
# (argument1, argument2, . ) — список аргументов, поступающих на вход функции при ее вызове
# тело функции — это весь код, который идет после двоеточия
# Объявление функции
def hello (name):
print ( ‘Hello, ‘ + name)
# Вызовы функции
hello ( ‘Max’ )
hello ( ‘Ivan’ )
hello ( ‘Alex’ )
hello ( ‘Kate’ )
# Вывод
>> Hello, Max
>> Hello, Ivan
>> Hello, Alex
>> Hello, Kate
Оператор return возвращает значение из функции.
Представьте себе обычный калькулятор. Вы вводите первое число, операцию и второе число. Калькулятор возвращает нам результат операции над этими числами. Всё просто, не так ли? Функции точно так же умеют возвращать значение с помощью специального оператора return.
# Объявление функции
def sum2 ( a , b ):
return a + b
# Вызовы функции
s1 = sum2 ( 10 , 2 )
s2 = sum2 ( 108 , 100 )
s3 = sum2 ( 3 , 1 )
print ( f ‘s1 = ‘ )
print ( f ‘s2 = ‘ )
print ( f ‘s3 = ‘ )
# Функция умножения двух чисел
def mult2 ( a , b ):
return a * b
# Вызовем нашу функцию
m1 = mult2 ( 10 , 2 )
m2 = mult2 ( 108 , 100 )
m3 = mult2 ( 3 , 1 )
print ( f ‘m1 = ‘ )
print ( f ‘m2 = ‘ )
print ( f ‘m3 = ‘ )
Для параметров функции можно указывать значения по умолчанию. Это дает возможность вызывать функцию с меньшим числом параметров.
# Аргумент name по умолчанию равен ‘world’
def hello ( name = ‘world’ ):
print ( ‘Hello, ‘ + name)
Примеры
# Написать функцию square(), вычисляющую квадрат числа.
def square ( number ):
return number * number # Возвращаем результат работы функции обратно в программу
a = square ( 2 )
print (a)
# Напишите функцию perimetr, вычисляющую периметр прямоугольника со сторонами a и b.
def perimetr ( a , b ):
return 2 * (a + b)
p = perimetr ( 4 , 3 )
print (p)
# Напишите функцию isEven, возвращающую True, если число четное, и False, если — нечетное.
def isEven ( x ):
return x % 2 == 0
print ( isEven ( 10 ))
print ( isEven ( 11 ))
# Напишите функцию amountList, которая возвращает сумму всех элементов списка.
def amountList ( lst ):
amount = 0
f or x in lst:
amount += x
return amount
print ( amountList ([ 1 , 2 , 3 ]))
mylist = [ 1 , 2 , 4 , 8 , 16 ]
s = amountList (mylist)
print ( f ‘Сумма списка равна ‘ )
>> 6
>> Сумма списка [ 1 , 2 , 4 , 8 , 16 ] равна 31
# Напишите функцию fib, которая возвращает n-ное число Фибоначчи.
# Последовательность Фибоначчи выглядит так: 1 1 2 3 5 8 13 21 34
def fib ( n ):
a, b = 0 , 1
if n == 0 : return 0
f or i in range ( 1 , n):
a, b = b, a + b
return b
print ( fib ( 2 ))
print ( fib ( 3 ))
print ( fib ( 4 ))
print ( fib ( 5 ))
print ( fib ( 10 ))
# Напишите функцию fact, вычисляющую значение факториала числа N.
# Факториал числа — это произведение всех чисел от 1 до N.
# Например, факториал числа 5 равен 120 (5! = 120).
def fact ( n ):
result = 1
while n > 1 :
result *= n
n -= 1
return result
print ( fact ( 2 ))
print ( fact ( 3 ))
print ( fact ( 4 ))
print ( fact ( 5 ))
Решение задач
Напишите функцию, которая получает в качестве аргумента радиус круга и находит его площадь.
# Не забудьте написать функцию circle.
print ( circle ( 4 ))
print ( circle ( 1 ))
Напишите функцию, которая возвращает True, если число делится на 3, и False, если — нет.
# Не забудьте написать функцию three.
print ( three ( 4 ))
print ( three ( 3 ))
Напишите функцию, которая возвращает максимальный элемент из переданного в нее списка.
# Напишите функцию maxList.
mylist = [ 1 , 3 , 2 ]
print ( maxList (mylist))
Напишите функцию, которая возвращает количество четных элементов в списке.
# Напишите функцию evenCounter.
mylist = [ 1 , 10 , 2 , 4 , 6 ]
evens = evenCounter (mylist)
print (even)
Напишите функцию, которая возвращает список с уникальными (неповторяющихся) элементам.
# Напишите функцию unique.
mylist = [ 1 , 1 , 2 , 1 , 3 , 2 , 3 ]
print ( unique (mylist))