Решение модуля 7.4 Добрый, добрый Python

Модуль 7.4 Именованные аргументы. Фактические и формальные параметры.

Отметьте все верные определения.


формальные параметры - это параметры функции со значениями по умолчанию

фактические параметры - это позиционные параметры функции без значений по умолчанию

позиционные аргументы - это передаваемые функции значения, записанные через запятую

именованные аргументы - это значения с дополнительным указанием имени параметра функции

Объявите функцию с именем get_rect_value, которая принимает два аргумента (два числа) и еще один формальный параметр type с начальным значением 0. Если параметр type равен нулю, то функция должна возвращать периметр прямоугольника, а иначе — его площадь.

P. S. Вызывать функцию не нужно, только объявить.

def get_rect_value(a:int, b:int, type=0)->int:
    '''
    принимает два аргумента (два числа) и еще один
     формальный параметр type с начальным значением 0.
      Если параметр type равен нулю, то функция должна 
       возвращать периметр прямоугольника,
        а иначе - его площадь.
    :param a:
    :param b:
    :param type:
    :return:
    '''
    if type == 0:
        return a * 2 + b * 2
    else:
        return a * b

 Объявите функцию с именем check_password, которая принимает аргумент — строку (пароль) и имеет один формальный параметр chars с начальным значением в виде строки «$%!?@#». Функция должна проверять: есть ли в пароле хотя бы один символ из chars и что длина пароля не менее 8 символов. Если проверка проходит, то функция возвращает True, иначе — False.

P. S. Вызывать функцию не нужно, только объявить.

def check_password(st:str, chars='$%!?@#')->bool:
    '''
    принимает аргумент - строку (пароль) и имеет один формальный параметр chars
        с начальным значением в виде строки "$%!?@#". Функция должна проверять: есть
            ли в пароле хотя бы один символ из chars и что длина пароля не менее 8 символов.
                Если проверка проходит, то функция возвращает True, иначе - False.

    :param st: строка пароля
    :param chars: '$%!?@#'
    :return: True or False
    '''

    return all([any([i in st for i in chars]), len(st) > 7])

 Объявите функцию, которая принимает строку на кириллице и преобразовывает ее в латиницу, используя следующий словарь для замены русских букв на соответствующее латинское написание:

t = {'ё': 'yo', 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ж': 'zh',
     'з': 'z', 'и': 'i', 'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o', 'п': 'p',
     'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh',
     'щ': 'shch', 'ъ': '', 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya'}

Функция должна возвращать преобразованную строку. Замены делать без учета регистра (исходную строку перевести в нижний регистр — малые буквы). У функции также определить формальный параметр sep с начальным значением в виде строки «-«. Он будет определять символ для замены пробелов в строке.

После объявления функции прочитайте (с помощью функции input) строку и дважды вызовите функцию (с выводом результата ее работы на экран):

— первый раз только со строкой
— второй раз со строкой и именованным аргументом sep со значением ‘+’.

t = {'ё': 'yo', 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ж': 'zh',
     'з': 'z', 'и': 'i', 'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o', 'п': 'p',
    'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh',
    'щ': 'shch', 'ъ': '', 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya'}

def translit(text: str, sep: str = '-') -> str:
    """  Функция принимает строку на кириллице и разделитель, 
    и преобразовывает ее в латиницу. """
    sp = [t[el] if el in t else el for el in text]
    res = sep.join(''.join(sp).split())
    return res


text = input().lower()       # Получаем ввыденный текст
print(translit(text))        # Выводим текст с разделителем по умолчанию
print(translit(text, '+'))   # Выводим текст с нашим разделителем 

Объявите функцию, которая принимает строку и заключает ее в указанный тег. Тег определяется формальным параметров tag с начальным значением в виде строки «h1». Например, мы передаем строку «Hello Python» и заключаем в тег «h1». На выходе должны получить строку (без кавычек):

«<h1>Hello Python</h1>»

То есть, сначала открывается тег <h1>, а в конце строки — закрывается </h1>. И так для любых указанных тегов.

После объявления функции прочитайте (с помощью функции input) строку и дважды вызовите функцию (с выводом результата ее работы на экран):

— первый раз только со строкой
— второй раз со строкой и именованным аргументом tag со значением ‘div’.

def tg(st: str, tag='h1')->str:
    '''
    принимает строку и заключает ее в указанный тег.
    Тег определяется формальным параметров tag с начальным значением в виде строки "h1".
    :param st: входящая строка
    :param tag: таг
    :return: <tag>строка</tag>
    '''
    return f'<{tag}>{st}</{tag}>'


st = input()
print(tg(st))
print(tg(st, tag='div'))

 Функции из предыдущего подвига 5 добавьте еще один формальный параметр up с начальным булевым значением True. Если параметр up равен True, то тег (указанный в формальном параметре tag) следует записывать заглавными буквами, а иначе — малыми.

После объявления функции прочитайте (с помощью функции input) строку и дважды вызовите функцию (с выводом результата ее работы на экран):

— первый раз со строкой и именованным аргументом tag со значением ‘div’
— второй раз со строкой, именованным аргументом tag со значением ‘div’ и именованным аргументом up со значением False.

<div class="zazlo_r3"></div>
def get_tags(text: str, tag: str = 'h1', up: bool = True) -> str:
    """ Функция принимает строку и заключает ее в указанный тег."""
    tag = tag.upper() if up else tag
    return f'<{tag}>{text}</{tag}>'

text = input()
print(get_tags(text, 'div'))
print(get_tags(text, 'div', False))

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

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

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