Числа и строки

Числа

Больше математики!

Псевдослучайные числа

randomsecrets, а также os.getrandom)

Строки

Строковые методы

Базовая статья

split() и join()

Форматные строки

Базовая статья

Спецсимволы и необработанные строки

Зачем нужны спецсимволы

Д/З

<!> Во всех домашних заданиях нашего курса используются только стандартные модули Python.

  1. Прочитать и прощёлкать про строки в учебнике, в документации, а также про форматирование строк в учебнике и в документации.

  2. EJudge: TrimImage 'Обрезать картинку'

    Вводятся строки, содержащие четыре целых числа и символ, разделённые пробелами. Код символа 33 ⩽ c ⩽ 127. Это абсцисса, ордината (ось ординат направлена вниз) некоторых точек, а также длина и ширина построенных на них прямоугольников, «нарисованных» с помощью указанных символов. Последняя строка пустая. Вывести наименьшую область, содержащую все раскрашенные точки, нарисованные в порядке ввода прямоугольников. Область также прямоугольна и изначально заполнена символами '.'. Координаты и размеры могут быть отрицательны или равны нулю. В случае отрицательного размера прямоугольник откладывается от исходной точки в противоположную сторону, а сама точка в него не попадает.

    Input:

    1 2 10 10 *
    -2 -1 10 10 #
    3 4 -10 10 @
    5 6 10 -10 %
    Output:

    ............%%%%%%%%%%
    ............%%%%%%%%%%
    ............%%%%%%%%%%
    .....#######%%%%%%%%%%
    .....#######%%%%%%%%%%
    .....#######%%%%%%%%%%
    .....#######%%%%%%%%%%
    .....#######%%%%%%%%%%
    @@@@@@@@@@##%%%%%%%%%%
    @@@@@@@@@@##%%%%%%%%%%
    @@@@@@@@@@#####***....
    @@@@@@@@@@#####***....
    @@@@@@@@@@#####***....
    @@@@@@@@@@********....
    @@@@@@@@@@********....
    @@@@@@@@@@********....
    @@@@@@@@@@............
    @@@@@@@@@@............
  3. EJudge: ZenLeaders 'Чемпионы дзена'

    Ввести построчно список участников некоторого соревнования на скорость неизвестно чего в виде Имя Фамилия Название команды часы:минуты:секунды (последняя строка пустая), и вывести всех, кто занял первые три места (минимальное затраченное неизвестно на что время; одно место может занять несколько человек, если время совпадает), в порядке возрастания времени, а внутри одного времени — лекcикографически: фамилия, имя, команда. Дополнительное условие: таблица чемпионов должна быть аккуратной: поля «Имя», «Фамилия», «Название команды» и «Время» должны начинаться в одном столбце, между ними должен быть минимум один пробел, при этом строки должны иметь минимально возможную длину.

    Input:

    Модест Камноедов НИИЧАВО 10:0:0
    Николай Долгоносиков Телепаты и спириты 5:3:31
    Рудольф Хлебовводов ТПРУНЯ 5:43:55
    Лавр Вунюков ТПРУНЯ 6:12:12
    Эдельвейс Машкин Пенсионеры-изобретатели 5:43:55
    Анатолий Скворцов Золотые руки Китежграда 2:14:3
    Амвросий Выбегалло НИИЧАВО 6:12:12
    Output:

    Анатолий  Скворцов     Золотые руки Китежграда 2:14:3
    Николай   Долгоносиков Телепаты и спириты      5:3:31
    Эдельвейс Машкин       Пенсионеры-изобретатели 5:43:55
    Рудольф   Хлебовводов  ТПРУНЯ                  5:43:55
  4. EJudge: ExactFraction 'Точная дробь'

    Вводится строка, содержащая вычислимое арифметическое выражение. Выражение может содержать пять арифметических операций (+ - / * %), скобки, вещественные числа и пробелы. Вычислить точное значение в виде натуральной дроби и вывести его. Для представления чисел использовать тип fractions.Fraction.

    Input:

    (11/345 + (5.56+32.30)/2.) / 7
    Output:

    18691/6900
  5. EJudge: ArbitPrec 'Произвольная точность'

    Вводится две строки: произвольная функция над x, содержащая операции, применимые к типу decimal.Decimal, имеющая единственный корень на интервале (-1.5, 1.5), непрерывная на нём и принимающая значения разных знаков на концах интервала, и натуральное число D. Вывести корень данной функции с точностью ровно D знаков после запятой (нули тоже выводятся). Воспользоваться десятичным контекстом для задания точности (см. примеры выше на странице документации).

    Input:

    1+x*3
    20
    Output:

    -0.33333333333333333333

LecturesCMC/PythonIntro2022/05_StringsNumbers (последним исправлял пользователь FrBrGeorge 2022-10-16 15:30:48)