Числа и строки
Числа (попытка №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)
(если уж совсем много времени будет, то про 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()
Форматные строки
(3.6+) f"строка"
- примеры
(3.8+) f"{выражение=}"
Метод .format()
Спецсимволы и необработанные строки
- Специмволы
r"..."
Байтовые строки и «массивы»
- bytes
- .encode()/.decode()
- bytearray
- бНОПНЯ!
Д/З
Прочитать и прощёлкать про строки в учебнике, в документации, а также про форматирование строк в учебнике и в документации.
TODO
- Стакан: вводится ASCII-art с изображением стакана с водой, падающего в ведро (последняя строка — пустая). Толщина стенок стакана — 1, к стенкам ведра (для удобства проверки:) не прикасается.
.......... .......... .#....#... .#....#... .#****#... .#****#... .#****#... .#****#... .######... .......... .......... ..........
После падения стакан оказывается на боку в левом углу ведра, а вода из него выливается, заполняя ровным слоем дно ведра и заслоняя стакан (толщина слоя округляется в большую сторону). Вывести ведро с упавшим стаканом (он туда помещается, проверять н надо):
.......... .......... .......... .......... .......... .......... #######... #......... #......... #......... ********** **********
Произвольная точность. Вводится две строки: произвольная функция над x, содержащая арифметические операции, имеющая единственный корень на интервале (2, 8), непрерывная на нём и принимающая значения разных знаков на концах интервала, и натуральное число D. Вывести корень данной функции в виде числа, содержащего ровно D знаков после запятой. Воспользоваться десятичным контекстом для задания точности (см. примеры выше на странице документации).
- Ввод:
1+x*3 20
- Вывод:
-0.33333333333333333333
- Чемпионы дзена. Ввести построчно список участников некоторого соревнования на скорость неизвестно чего в виде
Имя Фамилия Название команды часы:минуты:секунды …
Например:Модест Камноедов НИИЧАВО 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