Материалы по курсу «Основы программирования»

Лабораторная работа № 1 (весна)

  1. f1(xs)

    Написать функцию f1(xs), которая принимает список строк и сортирует строки по алфавиту, читая каждую строку в обратном порядке.

>>> fox = ['quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
>>> f1(fox)
['the', 'dog', 'quick', 'brown', 'over', 'jumps', 'fox', 'lazy']

>>> fox2 = ['quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dogs']
>>> f1(fox2)
['the', 'quick', 'brown', 'over', 'dogs', 'jumps', 'fox', 'lazy']
  1. f2(xs)

    Написать функцию f2(xs), которая принимает список строк и сортирует их по длине, при этом строки равной длины упорядочиваются по алфавиту.

>>> fox = ['quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
>>> f2(fox)
['dog', 'fox', 'the', 'lazy', 'over', 'brown', 'jumps', 'quick']

>>> fox2 = ['quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dogs']
>>> f2(fox2)
['fox', 'the', 'dogs', 'lazy', 'over', 'brown', 'jumps', 'quick']
  1. f3(xs)

    Написать функцию f3(xs), которая принимает список целых чисел и сортирует их по последней цифре, если последние цифры совпадают, то по самому значению

>>> f3([32, 87, 79, 51, 21, 56, 37])
[21, 51, 32, 56, 37, 87, 79]
  1. f4(xs)

    Написать функцию f4(xs), которая принимает список двумерных векторов и сортирует их по длине.

Двумерные вектора представлены парами (кортежами) чисел (x, y)

Длина вектора: |r| = √(x² + y²)

>>> vecs = [(3, -2), (1, 1), (-5, -4), (4, 0), (7, 7), (0, 1)]
>>> f4(vecs)
[(0, 1), (1, 1), (3, -2), (4, 0), (-5, -4), (7, 7)]