Различия между версиями 20 и 21
Версия 20 от 2020-10-07 21:27:08
Размер: 6265
Редактор: FrBrGeorge
Комментарий:
Версия 21 от 2020-10-07 22:50:59
Размер: 5232
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 56: Строка 56:
 1. Стакан: вводится ASCII-art с изображением стакана (возможно, с водой), падающего в ведро (последняя строка — пустая). Толщина стенок стакана — 1.
 {{{
..........
..........
.#....#...
.#....#...
.#****#...
.#****#...
.#****#...
.#****#...
.######...
..........
..........
..........
}}}
  После падения стакан оказывается на боку в левом нижнем углу ведра (даже если он размером с ведро; больше он не бывает), а вода из него выливается, заполняя ровным слоем дно ведра и заслоняя стакан (толщина слоя округляется в б'''о'''льшую сторону). Вывести ведро с упавшим стаканом.
 {{{
..........
..........
..........
..........
..........
..........
#######...
#.........
#.........
#.........
**********
**********
}}}
 1. <<EJCMC(148, AasciiGlass, Стакан)>>

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

Числа (попытка №3, на этот раз успеем ☺)

  • Комплексные числа из коробки
  • import math vs. from math import *

  • вычисления в рациональных числах с помощью decimal и fractions

    • decimal.Decimal(1.1) vs. decimal.Decimal("1.1")

    • fractions.Fraction(1/3) vs. fractions.Fraction(1,3)

  • Про функцию atan2() — см. Atan2

(если уж совсем много времени будет, то про random, но нет)

Строки

  • Внутреннее unicode-представление
  • 4 способа задания строк
  • строки как последовательности
  • Особенности (повторение):
    • a[5] === a[5:6] (так ли это? :) )

    • asd" in "qwasdgfh"

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

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

  • endswith(), startswith(),

  • find(), index(), count(),

  • isalnum(), isalpha(), isdecimal(), isdigit(), isidentifier(), islower(), isnumeric(), isprintable(), isspace(), istitle(), isupper(),

  • center(), rjust(), ljust(),

  • lower(), upper(), swapcase(), title(), capitalize(), casefold(),

  • replace(),

  • strip(), expandtabs(),

  • zfill(),

  • rfind(), rindex(), rpartition(), rsplit(), rstrip(), lstrip(),

split() и join()

  • split(), splitlines(), join()

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

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

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

  • Специмволы
  • r"..."

Байтовые строки и «массивы»

  • bytes
    • .encode()/.decode()
  • bytearray
  • бНОПНЯ!

Д/З

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

TODO

  1. EJudge: ArbitPrec 'Произвольная точность'

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

    Input:

    1+x*3
    20
    Output:

    -0.33333333333333333333
  2. Чемпионы дзена. Ввести построчно список участников некоторого соревнования на скорость неизвестно чего в виде
    Имя Фамилия Название команды часы:минуты:секунды
    
    Например:
    Модест Камноедов НИИЧАВО 10:0:0
    Николай Долгоносиков Телепаты и спириты 5:3:31
    Рудольф Хлебовводов ТПРУНЯ 5:43:55
    Лавр Вунюков ТПРУНЯ 6:12:12
    Эдельвейс Машкин Пенсионеры-изобретатели 5:3:31
    Анатолий Скворцов Золотые руки Китежграда 2:14:3
    Амвросий Выбегалло НИИЧАВО 6:12:12
    (последняя строка пустая), и вывести всех, кто занял первые три места (минимальное затраченное неизвестно на что время; одно место может занять несколько человек, если время совпадает), в порядке возрастания времени, а внутри одного времени — лекcикографически: фамилия, имя, команда. Дополнительное условие: таблица чемпионов должна быть аккуратной: поля «Имя», «Фамилия», «Название команды» и «Время» должны начинаться в одной колонке, но при этом быть максимально «упакованными»: столбцы в таблице должны быть разделены ровно одним пробелом.
    Анатолий  Скворцов     Золотые руки Китежграда 2:14:3
    Николай   Долгоносиков Телепаты и спириты      5:3:31
    Эдельвейс Машкин       Пенсионеры-изобретатели 5:3:31
    Рудольф   Хлебовводов  ТПРУНЯ                  5:43:55

LecturesCMC/PythonIntro2020/05_StringsNumbers (последним исправлял пользователь FrBrGeorge 2020-10-08 12:07:35)