Модуль 7.1 (Определение и вызов функции. Инструкция def). Настало время вплотную познакомиться с понятием «функция» и научиться определять свои собственные функцию в python
.
Как выглядит оператор вызова?
()
()
Сколько угодно раз
В какой последовательности должны идти определение функции и главная программа?
Сначала определение функций, а после главная программа
Что выведет указанный ниже код?
def say_hello(): print('Hello world') say_hello
Ничего
Давайте начнем с легкого примера. Создадим функцию с именем
keanu_reeves
, которая выводит сообщение"YOU'RE BREATHTAKING"Ваша задача написать только определение функции
keanu_reeves
def keanu_reeves(): # объявляем функцию которая будет выводить сообщение на экран print("YOU'RE BREATHTAKING")
Всеми любимая программа «hello world». Создайте функцию с именем
say_hello_world
, которая принимает на вход имя человека в виде строки и печатает фразу «{name} говорит hello world!»Ваша задача написать только определение функции
say_hello_world
def say_hello_world(name): # объявляем функцию которая принимает имя и выводит сообщение о том что он говорит hello world! print(f'{name} говорит hello world!')
Напишите функцию
summa_n
, которая принимает одно целое положительное t число и находит сумму всех чисел от 1 до t включительно. Программа должна распечатать сообщение«Я знаю, что сумма чисел от 1 до {t} равна {S}», где в качестве t и S вам необходимо подставить значения (см. тестовые данные)
Ваша задача написать только определение функции
summa_n
, вызывать ее не нужно
def summa_n(number): # объявляем функцию - сумма summa = 0 # создаем переменную для подсчета суммы for i in range(1, number + 1): # проходимся по числам от 1 до введенного числа summa += i # к сумме прибавляем каждую итерацию число print(f'Я знаю, что сумма чисел от 1 до {number} равна {summa}') # выводим сообщение с результатом
Напишите функцию
exponentiation
, которая принимает на вход целое число и выводит на экран через пробел квадрат и куб этого числа.Вам необходимо написать только определение функции
exponentiation
def exponentiation(number): # объявляем функцию для подсчета квадрата и куба заданного числа print(number ** 2, number ** 3)
Напишите функцию
sum_num
для суммирования всех цифр строки.
Функция должна принимать строку, суммировать все ее символы, которые являются цифрами,
и в качестве ответа выводить найденную сумму.Вам необходимо написать только определение функции
sum_num
.
def sum_num(stroka): # объявляем функцию для подсчета суммы цифр в строке total = 0 # создаем переменную для подсчета суммы for i in list(stroka): # проходимся по списку созданному из строки if i.isdigit(): # проверяем символ, если цифра, то прибавляем её к сумме total += int(i) print(total) # выводим результат
Напишите функцию
get_body_mass_index
, которая принимает массу тела человека в кг и рост в см и рассчитывает индекс массы тела человека по формулеindex=рост/масса2
Рост указывается в формуле в метрах, а не в сантиметрах
Функция и должна вывести на экран информацию о массе человека, отталкиваясь от найденного индекса:
- если индекс < 18.5 программа должна вывести
Недостаточная масса тела
- если 18.5 <= индекс <= 25 программа должна вывести
Норма
- если индекс > 25 программа должна вывести
Избыточная масса тела
Вам необходимо написать только определение функции
get_body_mass_index
.
def get_body_mass_index(weight, height): # объявляем функцию, которая принимает 2 параметра index = weight / ((height / 100) ** 2) # по формуле подсчитываем индекс массы if index > 25: # если индекс больше 25, то выводим сообщение о том избыточная масса print('Избыточная масса тела') elif index < 18.5: # если индекс меньше 18.5, то выводим недостаточная масса print('Недостаточная масса тела') elif 18.5 <= index <= 25: # если индекс меньше 25, но больше 18.5, то выводим норма print('Норма')
Напишите функцию
check_password
, которая проверяет переданный ей пароль на сложность и печатает на экран результат проверки.Сложным паролем будет считаться комбинация символов, в которой :
- Есть хотя бы 3 цифры
- Есть хотя бы одна заглавная буква
- Есть хотя бы один символ из следующего набора «!@#$%*»
- Общая длина не менее 10 символов
Если пароль прошел все проверки, функция должна вывести на экран фразу «Perfect password«, в противном случае — «Easy peasy»
Вам необходимо написать только определение функции
check_password
def check_password(password): # объявляем функцию для проверки пароля upper = [i for i in password if i.isupper()] # с помощью генератора создаем список только с заглавными символами digit = [i for i in password if i.isdigit()] # с помощью генератора создаем список только с числами simb = [i for i in '!@#$%*' if i in password] # с помощью генератора создаем список только с определенными символами # если длина пароля больше или равно 10 и длина списка с заглавными больше 0(количество заглавных букв) и количество цифр больше 2 и количество других символов больше или равно 1 if len(password) >= 10 and len(upper) > 0 and len(digit) > 2 and len(simb) >= 1: print('Perfect password') else: # иначе выводим сообщение о том что пароль простой print('Easy peasy')
Создайте функцию
count_letters
, которая принимает на вход фразу и подсчитывает, какое количество в ней строчных(K) и заглавных (N) букв, все остальные символы игнорируются. Функция должна вывести на экран информацию о найденных буквах в определенном формате.Количество заглавных символов: N
Количество строчных символов: KВам необходимо написать только определение функции
count_letters
.
def count_letters(text): # объявляем функцию, которая принимает строку upper = 0 # создаем переменную для подсчёта заглавных букв lower = 0 # создаем переменную для подсчета строчных букв for i in text: # проходимся по строке if i.isupper(): # если буква заглавная, то к счетчику заглавных букв прибавляем 1 upper += 1 elif i.islower(): # если буква строчная, то к счетчику строчных букв прибавляем 1 lower += 1 print(f'Количество заглавных символов: {upper}') # выводим кол-во заглавных букв print(f'Количество строчных символов: {lower}') # выводим кол-во строчных букв
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы