Решение модуля 7.1 Инди-курс программирования на Python

Модуль 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, которая проверяет переданный ей пароль на сложность и печатает на экран результат проверки.

Сложным паролем будет считаться комбинация символов, в которой :

  1. Есть хотя бы 3 цифры
  2. Есть хотя бы одна заглавная буква 
  3. Есть хотя бы один символ из следующего набора «!@#$%*»
  4. Общая длина не менее 10 символов

Если пароль прошел все проверки, функция должна вывести на экран фразу «Perfect password«, в противном случае — «Easy peas

Вам необходимо написать только определение функции 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}')  # выводим кол-во строчных букв

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x