Задачи Python, которыми хорошо размяться
Собрали для вас задачи на списки Python, чтобы комфортно познакомиться с регулярными упражнениями по програмированию.
5К открытий13К показов
Собрали задачи на списки Python, которые могут комфортно добавить к вашим привычкам регулярные упражнения по Python. Если с чего-то и начинать, то пускай поначалу это будет что-то подъемное и комфортное.
В раскрываемых блоках можно посмотреть ответы.
Сортировка по свойству
Вам будет передан список, и его элементы необходимо упорядочить в порядке убывания на основе значения указанного свойства.
Пример:
должен стать:
Значения всегда числа, свойства всегда непустые.
Решение
def sort_list(sort_key, l):
return sorted(l, key=lambda x: x[sort_key], reverse=True)
Классы скалолазов
В скалолазании навыки V/Vermin именуются, начиная с VB (новичок), а затем идут V0, V0+, V1, V2, V3, В4, В5 и т.д. до В17 (эксперт). Вам будет предоставлен список таких оценок. Напишите функцию, возвращающую перечень оценок, отсортированных от самого простого к самому сложному.
Решение
def sort_grades(gs):
return sorted(gs, key=grade)
def grade(v):
if v == ‘VB’: return -2
if v == ‘V0’: return -1
if v == ‘V0+’: return 0
return int(v[1:])
Антигравитационный ящик
Бобу скучно на уроках физики, поэтому он построил себе контейнер для игрушек, чтобы скоротать время. Он особенный и антигравитационный. В нем несколько столбиков игрушечных кубиков, выстроенных в линию. В i-м столбце содержится a_i кубов. Сначала сила тяжести в коробке тянет кубики вниз. Когда Боб переключает гравитацию, он начинает тянуть все к определенной стороне коробки d, которая может быть либо «L», либо «R» (левая или правая). Ниже приведен пример того, как может выглядеть коробка до и после переключения гравитации.
Учитывая исходную конфигурацию, выясните, сколько кубиков окажется в каждом из n столбцов после того, как Боб переключит гравитацию.
Примеры:
Решение
def flip(d,a):
return sorted(a, reverse=d==’L’)
Слова и их длины
Нам предстоит добавить длину слов, разделенных пробелом, после каждого слова и вернуть ее в виде массива.
Пример:
Напишите функцию, которая принимает строку и возвращает массив / список с длиной каждого слова, добавленного к каждому элементу. В строке будет хотя бы один элемент; слова всегда будут разделены пробелом.
Решение
def add_length(str_):
return [“{} {}”.format(i, len(i)) for i in str_.split(‘ ‘)]
Сколько задач вам удалось решить?
Одну
Две
Три
Все
Посмотреть результат голосования
5К открытий13К показов