СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Практическое занятие №45

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Практическое занятие №45»

Практическое занятие №45 (1И)

Тема: Понятие списка в Python. Создание и считывание списков

Цель работы: формирование теоретических и практических навыков работы на языке программирования Python

Оборудование: компьютер с установленной операционной системой Windows, подключение к сети Интернет

Время работы 2 часа

Теоретические сведения

Список – последовательность элементов, объединенных в один контейнер. Главная особенность – они изменяемы.

Элементы списка индексируются, состоят в основном из однотипных данных, перебираются, сохраняют порядок.

Для решения заданий необходимо повторить свойства и методы списков. Ход работы

Задача 1

Дан произвольный список. Представьте его в обратном порядке.


my_list = [2, 4, 8]

my_list.reverse()

print(my_list)

Задача 2

Напишите функцию change(lst), которая принимает список и меняет местами его первый и последний элемент. В исходном списке минимум 2 элемента.


def change(lst):

new_start = lst.pop() # Удаляем последний элемент и сохраняем его в переменную

new_end = lst.pop(0) # Удаляем первый элемент и сохраняем его в переменную

lst.append(new_end) # Добавляем к списку новый последний элемент

lst.insert(0, new_start) # Добавляем к списку новый первый элемент

return lst



# Тесты

print(change([1, 2, 3]))

print(change([1, 2, 3, 4, 5]))

print(change(['н', 'л', 'о', 'с']))

Задача 3

Функция to_list() принимает неограниченное количество параметров. Обработайте их так, чтобы на выходе получить список из этих элементов.


def to_list(*args):

return list(args)


# Тесты

print(to_list(1, 5, 77))

print(to_list('Молоко', 5, '2020 год'))

print(to_list([3, 4, 7], 8.3, True, 'Строка'))

Задача 4

Николай задумался о поиске «бесполезного» числа на основании списка. Суть оного в следующем: он берет произвольный список чисел, находит самое большое из них, а затем делит его на длину списка. Студент пока не придумал, где может пригодиться подобное значение, но ищет у вас помощи в реализации такой функции useless(s).



def useless(lst):

return max(lst) / len(lst)


# Тесты

print(useless([1, 5, 77]))

print(useless([19, 8.3, -4, 11, 0, 5]))

print(useless([-33, -0.05, -4.18, 11.2, 13.12, 55, 7.1]))

Задача 5

Требуется создать функцию list_sort(lst), которая сортирует список чисел по убыванию их абсолютного значения.



def list_sort(lst):

lst.sort(key=lambda x: abs(x), reverse=True)

return lst


# Тесты

print(list_sort([1, 5, 77]))

print(list_sort([19, 8.3, -4, 11, 0, 5]))

print(list_sort([-33, -0.05, -4.18, 11.2, 13.12, 55, 7.1]))

Задача 6

На входе имеем список строк разной длины. Необходимо написать функцию all_eq(lst), которая вернет новый список из строк одинаковой длины. Длину итоговой строки определяем исходя из самой большой из них. Если конкретная строка короче самой длинной, дополнить ее нижними подчеркиваниями с правого края до требуемого количества символов.

Расположение элементов начального списка не менять.


def all_eq(lst):

max_item = max(lst, key=lambda x: len(x))

max_len = len(max_item)

return [item.ljust(max_len, '_') for item in lst]



# Тесты

print(all_eq(['крот', 'белка', 'выхухоль']))

print(all_eq(['a', 'aa', 'aaa', 'aaaa', 'aaaaa']))

print(all_eq(['qweasdqweas', 'q', 'rteww', 'ewqqqqq']))

Контрольные вопросы:

  1. Перечислите характеристики типа данных «список»

  2. Как проверить наличие элемента в списке?

  3. Какие параметры можно передавать при срезах списков?