Практические занятия
Практика 10
Использование стандартных интерфейсов
1.
Написать функцию season, принимающую 1 аргумент — номер месяца (от 1 до 12),
и возвращающую время года, которому этот месяц принадлежит (зима, весна, лето или осень).
Пример 1
def season(month: int) -> str:
"""
Return season of year.
Args:
month (int): month number.
Returns:
str: season name.
"""
# code of function
Test: print(season.__doc__)
2.
Написать функцию is_year_leap, принимающую 1 аргумент — год, и возвращающую true,
если год високосный, и false иначе.
3.
Написать функцию date, принимающую 3 аргумента — день, месяц и год.
Вернуть true, если такая дата есть в нашем календаре, и false иначе.
4.
Написать функцию, которая ищет минимальную цифру в целом числе.
5.
Количество аргументов. Напишите функцию args_counter(), которая принимает произвольное количество
аргументов, выводит на экран количество переданных аргументов, а затем возвращает его.
6.
Именованные аргументы.
Напишите функцию print_info(), которая принимает произвольное количество
именованных аргументов. Данная функция должна построчно выводить на экран
именованные аргументы в виде пары <Ключ> = <Значение>, причем ключи должны
следовать в алфавитном порядке.
7.
Словарь с характеристиками персонажа.
Напишите функцию create_character(), которая принимает произвольное количество
именованных аргументов и возвращает словарь с характеристиками персонажа.
Если функции create_character() не передавать никаких аргументов,
то она должна возвращать базовый словарь с ключами name, surname, age.
Вот так он выглядит.
Пример 1
Если передавать именованные параметры, которые отсутствуют в базовом словаре,
они дополняются к этому словарю.
Код:
create_character(height=180, author='Артур Конан Дойл')
Вывод:
{
'name': 'Шерлок',
'surname': 'Холмс',
'age': 42,
'height': 180,
'author': 'Артур Конан Дойл'
}
Пример 2
Если передавать именованные параметры, которые совпадают с ключами базового
словаря, то значения в словаре должны заменяться переданными значениями.
Код:
create_character(name='Джон',surname='Уотсон' )
Вывод:
{
'name': 'Джон',
'surname': 'Уотсон',
'age': 42,
}
Напишите определение функции.
Тесты
Входные данные:
height:180,author:Артур Конан Дойл
Выходные данные:
{'name': 'Шерлок', 'surname': 'Холмс', 'age': 42, 'author': 'Артур Конан Дойл', 'height': '180'}
Входные данные:
name:Джон,surname:Уотсон
Выходные данные:
{'name': 'Джон', 'surname': 'Уотсон', 'age': 42}
Входные данные:
name:Пикачу,height:40,color:Yellow
Выходные данные:
{'name': 'Пикачу', 'surname': 'Холмс', 'age': 42, 'color': 'Yellow', 'height': '40'}
Входные данные:
name:Евгений,surname:Онегин,age:26,height:160,author:Александр Сергеевич Пушкин
Выходные данные:
{'name': 'Евгений', 'surname': 'Онегин', 'age': '26', 'author': 'Александр Сергеевич Пушкин', 'height': '160'}
Домашнее задание
Использование стандартных интерфейсов.
Применение интерфейсов итераторов.
Свойства и методы интерфейсов IEnumerator, IEnumerable, IDisposable.
Сравнение объектов с помощью интерфейсов ICompararer и IComparable.
Интерфейс IEnumerable, цикл foreach.
Интерфейс IList, методы IndexOf(), Insert(), RemoveAt().
Интерфейс ICollection, методы Add(), Clear(), CopyTo(), Remove().
-
Перейти — Стандартный документ «Описание программы»